Navigation erweitern - class"current"

Hallo zusammen,

ich habe meine Navigation um drei MenuPunkte erweitert, die auf manuell angelegte CMS Seiten verlinken.
Leider ist es mir nicht gelungen hier eine class dem Link hinzuzufügen, wenn die Seite angezeigt/aktiv ist.

Bei den Kategorien wird die class=“current” noch hinzugefügt.

Da ich über die Einstellungen im Admin keine Möglichkeit gefunden habe, sind die Links nun fix in der topcategories.tpl drinnen.

Hier im Forum habe ich leider keine Lösung gefunden, die mir anhand der aktuellen Seite eine if Abfrage was ausgibt.

Die Idee ist folgende Abfrage:

if AKTUELLE-SEITEN-ID == “123” {
<a href="#" class=“curren”>123</a>
}
else {
<a href="#" class=“nix”>123</a>
}

Was auchgehen würde ist, den ContentByIdent abzufragen, ob der aktiv ist.

Hier mal etwas was ich hier im Forum gefunden habe, mir aber leider die class nicht setzt.

[{ assign var=“oCont” value=$oView->getContentByIdent(“shopfeedback”) }]
<li><a [{ if $oCont->getLink() == $oxcmp_lang[0]->link }] class=“active”[{/if}] href="[{ $oCont->getLink() }]">[{ $oCont->oxcontents__oxtitle->value }]</a></li>

Viele Grüße

Markus

es gibt doch die möglichkeit eine cms seite als link im hauptmenü reinzubringen. einfach bei neuer cms seite im dropdown entsprechendes auswählen. ist es das was du meinst?

Die Möglichkeit schaut nicht sehr schön aus, da es in einem extra Reite gesammelt wird. Die class wird da leider auch nicht dazu gehängt.

In Oxid DemoShophabe ich zwei Artikel angelegt und wollte die in die Navi oben als Link einbinden. Leider werden die nur als Kategorie angezeigt.

Der Punkt Hauptmenü ist mir ein Rätsel, da steht “Wenn Sie Hauptmenü auswählen, wird in der oberen Menüleiste ein Link zu der CMS-Seite angezeigt (bei AGB und Impressum).”. Habe dazu einen ScreenShot angefügt.

Wo bitte wird der Link angezeigt?

Vielen Dank

Markus

Hallo zusammen,

ich habe mal einen Lösungsansatz für die Navigation. Über [{debug}] irgendwo im TPL kann man von der aktuellen Seite einige Infos als Popup aufrufen.

Für die zwei fest im topcategories.tpl hinterlegten Links konnte ich mit folgender if Abfrage die Ausgabe erzielen.
In das if kann man dann den Link + die class fix hinterlegen. Noch ne else ohne class und die Sache funst.

[{if $oContent->oxcontents__oxloadid->value == ‘hundefeedback’}]
ich hundefeedback
[{/if}]

[{if $oContent->oxcontents__oxloadid->value == ‘infoseitegroessen’}]
ich infoseitegroessen
[{/if}]

Leider habe ich im debug für die Seite Kontakt noch keine if Abfrage gefunden oder, kann abfragen ob die Seite aktiv ist.

Aufruf über:
<li class=“navpunkt6”><a href="[{ oxgetseourl ident=$oViewConf->getSelfLink()|cat:“cl=contact” }]">Kontakt</a></li>

Gibt es eine Abfrage ob oxid->value aktiv ist?

[{if $ocat->oxcategories__oxid->value == ‘7122dc57c4b88532cc434a013cc69ee1’}]
ich bin die Kontaktseite
[{/if}]

Vielen Dank

Markus

aktiv ist es immer. es wird nur nicht überall alle werte ausgelesen.

hatte ein ähnliches problem. daher benötigst du “lazyloading” … such mal im forum danach… da gibt es ein modul, dass du einbinden musst und dann lazyloading für kategorien aktivieren musst.

Wegen der kontaktseite:

Versuch es doch mal mit folgender Smarty Anweisung:

[{assign var=“oConfig” value=$oView->getConfig()}]
[{if $oConfig->getParameter(‘cl’) == ‘contact’}]
Kontaktseite
[{}]

@Benny
Passt. Vielen Dank!

Das /if hat noch gefehlt.

[{assign var=“oConfig” value=$oView->getConfig()}]
[{if $oConfig->getParameter(‘cl’) == ‘contact’}]
Kontaktseite
[{/if}]