Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   X-Mentor (Archiv) (https://boardunity.de/x-mentor-archiv-f51.html)
-   -   unterkategorieartikel in hauptkategorieübersicht (https://boardunity.de/unterkategorieartikel-hauptkategorie-bersicht-t2261.html)

huedrant 15.08.2004 19:45

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?

Patrick Gotthardt 16.08.2004 15:51

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/

huedrant 16.08.2004 16:22

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.

Patrick Gotthardt 16.08.2004 16:36

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... ^^"

huedrant 05.09.2004 21:31

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...

Patrick Gotthardt 06.09.2004 09:37

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.

huedrant 07.09.2004 07:51

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..;-)

Patrick Gotthardt 10.09.2004 20:46

Funktioniert es denn nun so?

huedrant 25.09.2004 22:32

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!


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.

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