Seite 1 von 1

Active Status für Navigation_Meta möglich?

Verfasst: Mi 17. Jun 2009, 17:23
von csmd
Hi zusammen,

Contenido macht ja schon Spaß, wenn nicht ab und an diese kleinen Hürden wären... :oops:

Meine Ausgangsbasis war der Demo-Kunde.

Ich würde gerne der Meta Navigation ebenfalls einen CSS gesteuerten Active Status mit auf den Weg geben.
Dazu habe ich bisher folgendes gemacht:
In das Modul Navigation_Meta die Zeile

Code: Alles auswählen

cInclude('frontend', 'includes/Util/Modules/Contenido_NavMain_Util.class.php');
zugefügt. (Dort wird ja dem Template das css_active_item zugewiesen)
Dann habe ich im Template navigation_meta_item.html das href entsprechend ergänzt:

Code: Alles auswählen

<li><a href="{url}" title="{title}" class="{css_active_item}">{label}</a></li>
Im CSS habe ich für das Meta Menü noch einen active Status eingefügt.

Leider kommt bei jedem Test den ich fahre im Quellcode der generierten Seite:

Code: Alles auswählen

<li><a href="front_content.php?idcat=23&lang=1" title="Kontakt" class="{css_active_item}">Kontakt</a></li>
Er scheint also erst garnicht den Status auszulesen... Was muss ich noch machen, damit die Funktion auch für das Meta Menü greift?

Lieben Dank schonmal und viele Grüße
Chris

Re: Active Status für Navigation_Meta möglich?

Verfasst: Mi 17. Jun 2009, 18:05
von idea-tec
also ich mag mich nun irren, aber das einzige modul, dass ich kenne, das mit navigation und meta benannt ist, ist das Navigation_Meta.
In diesem steht z.B. eine Zeile nach dieser Art:

Code: Alles auswählen

            $tpl->set('d', 'label', $oContenidoCategory->getCategoryLanguage()->getName());
das bedeutet, dass du z.B. etwas in der Art benötigst:

Code: Alles auswählen

            $tpl->set('d', 'css_active_item', "irgendeineformatierungodersonstigeübergabewerte";
Ist eine Zuweisung/Ersetzung ins Template nicht vorhanden wird der "Platzehalter" -> {css_active_item} nicht ersetzt sondern ausgegeben

Re: Active Status für Navigation_Meta möglich?

Verfasst: Mi 17. Jun 2009, 19:00
von csmd
Danke, das bringt mich schon ein Stückchen weiter...

wenn ich statischen Text reinschreibe, setzt er alle Menüpunkte auf "active".
Also habe ich aus der Contenido_NavMain_Util.class.php einen Schnipsel rausgeholt und an besagter Stelle eingefügt:

Code: Alles auswählen

$tpl->set('d', 'css_active_item', ($bMarkActive === true ? 'active' : ''));
Also gut, jetzt müsste nur noch die Variable $bMarkActive gesetzt und gefüllt sein.
Das ist im Kopf dieser class.php der Fall gewesen:

Code: Alles auswählen

$bMarkActive = $oCategory->getIdCat() == $iCurrentPageIdcat || $oFrontendNavigation->isInPathToRoot($oCategory->getIdCat(), $iCurrentPageIdcat);
Wo ich das aber funktional im Navigation_Meta Modul unterbringe ist mir nicht ganz klar, zumal in dem Schnipsel noch andere Variablen stehen, die wohl ebenfalls gefüllt sein müssen...

Ich habe im Kopf vom Navigation_Meta Modul noch das class.php verlinkt

Code: Alles auswählen

cInclude('frontend', 'includes/Util/Modules/Contenido_NavMain_Util.class.php');
Kann man dadurch nicht bereits bestimmte gesetzte Variablen wie zB die aktuelle ID auslesen?

Vielleicht hat noch jemand mit besseren PHP Kenntnissen als ich sie habe eine Idee :?

Re: Active Status für Navigation_Meta möglich?

Verfasst: Mi 17. Jun 2009, 19:36
von csmd
Ich habe es jetzt mit viel rumprobieren so gelöst:

Code: Alles auswählen

$tpl->set('d', 'css_active_item', ($oContenidoCategory->getIdCat() == $idcat ? 'active' : ''));
Es scheint auch zu funktionieren...
Könnte mir abschliessen jemand sagen, ob der Weg eher Mist war oder ob das eine ganz gute Möglichkeit ist, die man hier für Suchende stehen lassen kann?

Danke und viele Grüße
Chris

Re: Active Status für Navigation_Meta möglich?

Verfasst: Do 18. Jun 2009, 10:53
von rbi
Das ist richtig so.