Zur Boardunity Forenstartseite

Zurück   Boardunity Ratgeber Forum » Temporäre Foren » X-Mentor (Archiv)

 
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 15.08.2004, 20:45
Benutzerbild von huedrant
Mitglied
 
Registriert seit: 03.2004
Beiträge: 42

unterkategorieartikel in hauptkategorieübersicht


wie bringe ich den Xmentor dazu, die inhalte von unterkategorien in der übersicht der hauptkategorie darzustellen?

ich habe mich mal im code umgeschaut, und da vermute ich, dass die funktion getnav zuständig ist. die schaut im moment so aus:

Code:
if (count($categories)) {
			foreach($categories AS $categories_row) {
                            if($categories_row['link'] == ''){ $categories_row['link'] = "?page=cat&catid=".$categories_row['id'].""; }
                            if($categories_row['type']=="0") {
                                $str .= $GLOBALS['Template']->load('hauptkategorie', $categories_row);
                            } else {
                                if($categories_row['chef']==$id || $categories_row['chef']==$chef) {
                                    $str .= $GLOBALS['Template']->load('unterkategorie', $categories_row);
                                }
                            }
			}
		}
da ich aber leider kaum ahnung von korrekter PHP-syntax habe, weiß ich nicht, wie ich die verschachtelung der kategorie-unterkategorie-abfolge wieder auflösen kann. und wenn ich das mit meinem mageren wissen so überfliege, frage ich mich, ob das überhaupt mit ein bisschen codeschnipselschieben zu beheben ist. weiß da jemand weiter?

Geändert von huedrant (16.08.2004 um 15:19 Uhr). Grund: ergänzung
  #2  
Alt 16.08.2004, 16:51
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Die Hauptkategorie soll die Inhalt aller Unterkategorien auflisten?
Dafür musst du die Methode, die die Kategorie anzeigt (nicht die, die die Navigation erstellt) so modifizieren, dass sie - falls es sich um eine Hauptkategorie mit Unterkategorien handelt - die Unterkategorien ausliest und deren Inhalte (möglicherweise als rekursive Variante der Methode) zurückgibt.
Rekursion wäre da sicher geeignet.

Kleine Hilfe: http://tut.php-q.net/

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #3  
Alt 16.08.2004, 17:22
Benutzerbild von huedrant
Mitglied
 
Registriert seit: 03.2004
Beiträge: 42
oh, schöne tutorial-seite, danke für den link!

aber das mit dem rekursiven programmieren klingt reichlich böse.. also, vielleicht erklär ich mal, warum ich das brauche: ich möchte die hauptnavigationsleiste links vertikal haben und die unternavigation als "tabs" horizontal. ich erläutere das nur nochmal, weil ich nicht sicher bin, ob das der richtige ansatz ist, dieses ziel mit dem Xmentor zu lösen. falls also nicht, bitte einschreiten.
was das programmieren betrifft, wäre ich für einen konkreten tipp für die codeposition und -modifikation dankbar.

  #4  
Alt 16.08.2004, 17:36
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Ok, damit hat sich mein Vorschlag erübrigt... das geht so natürlich nicht.

Dann warst du mit deinem Ansatz schon recht nah dran.

Oh man... wie könnte man das denn machen... wahrscheinlich eher weniger mit der aktuellen Version eine Kategorie auszulesen...
Dafür brauch ich etwas länger... "

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #5  
Alt 05.09.2004, 22:31
Benutzerbild von huedrant
Mitglied
 
Registriert seit: 03.2004
Beiträge: 42
hallo alle (und drachenmeister insbesondere..)!

hat sich hier etwas ergeben, wie das zu lösen sein könnte. habe nochmal drüber nachgedacht, aber immer noch keine funktionierende idee...

  #6  
Alt 06.09.2004, 10:37
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Es ist wirklich eine knifflige Angelegenheit, aber ich glaube eine Idee zu haben:
PHP-Code:
if (count($categories)) {
     
$sub_str '';
     foreach(
$categories AS $categories_row) {
         if(
$categories_row['link'] == '') {
             
$categories_row['link'] = "?page=cat&catid=".$categories_row['id']."";
         }
         if(
$categories_row['type']=="0") {
             
$str .= $GLOBALS['Template']->load('hauptkategorie'$categories_row);
         } else {
             if(
$categories_row['chef']==$id || $categories_row['chef']==$chef) {
                 
$sub_str .= $GLOBALS['Template']->load('unterkategorie'$categories_row);
             }
         }
     }
 } 
Dann müsstest du noch die Variable $sub_str im Template verfügbar machen... wobei es eventuell auch reichen würde, noch ein $str .= $sub_str; hinzuzufügen... kommt halt auf die Templates an.

Aber so könnte es funktionieren.

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #7  
Alt 07.09.2004, 08:51
Benutzerbild von huedrant
Mitglied
 
Registriert seit: 03.2004
Beiträge: 42
hey, vielen dank, werde das mal ausprobieren und dann sagen, wie gut das klappt. vielen Dank jedenfalls für Deinen tipp!
werde mich dann nochmal melden, falls trotz allen herumprobierens das "$str .= $sub_str;" an keiner stelle funktioniert..;-)

  #8  
Alt 10.09.2004, 21:46
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Funktioniert es denn nun so?

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #9  
Alt 25.09.2004, 23:32
Benutzerbild von huedrant
Mitglied
 
Registriert seit: 03.2004
Beiträge: 42
hey dragon!

vielen dank für Deinen vorschlag und entschuldige bitte meine späte antwort. ich kam jetzt ein paar wochen nicht zum hacken. jetzt habe ich es ausprobiert, und es funktioniert! momentan arbeite ich mit $str .= $sub_str; leider wird es auf diese weise mit in das div mit der ID "navigation", und da bekomme ich es wohl nur schwer raus. obwohl, das müsste eigentlich nicht so schwer sein, ich werde das nochmal probieren.
Du hast geschrieben, ich müsse, sub_str in den templates verfügbar machen. wenn ich {sub_str} in ein beliebiges template schreibe, kommt immer nur "{sub_str}" heraus. woran liegt das?

aber das hauptproblem ist gelöst. vielen dank nochmal!

 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24