News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 2
Seite [1]
Klaus-Bärbel


Beginner




Beiträge: 2
# Thema - 24.09.2013 um 14:19 Uhr
Hallo,

ich habe die User->Home Ansicht etwas erweitert um dort einen zentralen Punkt zur Übersicht aller Neuigkeiten/wichtigen Sachen zu haben. Z.B. werden jetzt die letzten geschriebenen Kommentare oder anstehende Termine dort angezeigt.
Ich frage mich jetzt nur, ob und falls ja wie ich die Reihenfolge der zugefügten Module festlegen kann (also z.B., dass zuerst die Termine und darunter dann die neuesten Kommentare angezeigt werden).
Jemand einen Tipp parat?

mfg,
KB
Inaktiv
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 1 - 25.09.2013 um 00:21 Uhr
Momentan sieht das in der mods/users/home.php ja so aus:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
1. / 2. / ... 
 $plugins cs_checkdirs('mods','users/home');
ksort($plugins);

foreach(
$plugins as $mod) {
  
$acc_dir 'access_' $mod['dir'];
  if(
array_key_exists($acc_dir,$account) AND $account[$acc_dir] >= $mod['show']['users/home']) {
    include_once(
'mods/' $mod['dir'] . '/users_home.php');
  }
}


Es werden alle Plugins gesucht, nach dem Key sortiert (ich hab jetzt nicht geguckt, was das in dem Fall ist, müsstest du mal mit print_r/var_dump gucken) und wenn ich Rechte habe und die ausreichend sind, werden die Datien inkludiert.

d.h. du müsstest in die Sortierung des Arrays eingreifen.
Denkbar wäre, dass du das Array aufbaust, dann die elemente, die du oben haben willst in der Reihenfolge entnimmst, in ein neues Array packst und das, was vom ersten Array noch über ist, dann am Ende da mit reinpackst und das dann durch die Schleife laufen lässt.
(Gibt sicherlich auch noch optimalere Wege)

Ein anderer Weg wäre, dass du selbst ein Array mit den bekannten Inhalten aufbaust und die durchläufst. Danach fragst du wie oben zu sehen alle Elemente ab. Du guckst dir aber nur die an, die du nicht schon vorher verarbeitet hast...

Hilft dir das? Bist du so firm mit php, dass du was in der richtung jetzt umsetzen könntest?

Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Klaus-Bärbel
Thread-Ersteller


Beginner




Beiträge: 2
# Antwort: 2 - 25.09.2013 um 02:04 Uhr
Danke dir schon mal. Theorie habe ich verstanden, mal schauen ob die php Kenntnisse ausreichen
Ich melde mich dann wieder.

Gruß

edit:

Meine Lösung:

mehr... +-
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
1. / 2. / ... 
 $plugins cs_checkdirs('mods','users/home');
$events_plugin 0;
$comments_plugin 0;
...
usw...

ksort($plugins);

foreach(
$plugins as $mod) {
  
$acc_dir 'access_' $mod['dir'];
  if(
array_key_exists($acc_dir,$account) AND $account[$acc_dir] >= $mod['show']['users/home']) {
    
    if(
$mod['dir'] == 'comments') {
       
$comments_plugin 1;
    } elseif (
$mod['dir'] == 'events') {       
       
$events_plugin 1;
    } else {       
       include_once(
'mods/' $mod['dir'] . '/users_home.php');
    }
    
  }
}

if (
$events_plugin == 1) {
    include_once(
'mods/events/users_home.php');
}
if (
$comments_plugin == 1) {
    include_once(
'mods/comments/users_home.php');
}
...
usw...


Wahrscheinlich nicht optimal aber es funktioniert


Zuletzt editiert von Klaus-Bärbel am 25.09.2013 um 21:23 Uhr (1x Editiert)
Inaktiv
|
Antworten: 2
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo