Page 1 of 1

Replacement Tag für Seitenebene Überschrift

Posted: Wed 14. Mar 2012, 12:35
by gent
Ich suche eine Möglichkeit in einer Vorlage via Replacement Tag die Seitenebene Überschrift anzuzeigen, kann aber nichts finden.

Gibt es eine Möglichkeit das umzusetzen, evtl. mittels PHP und GLOBALS oder so?

Ich habe im Forum einen Weg gefunden, die LEVEL_ID via PHP und GLOBALS anzuzeigen:

Code: Select all

[PHP]
if(isset($GLOBALS['LEVEL_ID'][2])) {
echo $GLOBALS['LEVEL_ID'][2];
}
[/PHP]
... aber ich hätte gern statt der Zahl den entsprechenden Überschrifts-Text aus der Seitenstrukturebene.
In meinem Fall soll es mir (nur) den Text "acat_name" meines aktiven Manupunktes aus der 2. Strukturebene anzeigen.

Hat jemand eine Idee, würde mich freuen.

Re: Replacement Tag für Seitenebene Überschrift

Posted: Wed 14. Mar 2012, 13:13
by flip-flop
Hi,

das ist recht einfach und mit dem TAG {CATEGORY} gelöst. (seit V1.3.5).
Siehe auch: Standard Tags zusammengefasst

Knut

Re: Replacement Tag für Seitenebene Überschrift

Posted: Wed 14. Mar 2012, 14:11
by gent
Danke für die schnelle Antwort.. :)
Ich habs probiert, aber leider klappt das in meinem Fall so nicht. Dieses {CATEGORY} wirft mir leider immer die aktuelle Ebene aus. Ich bräuchte aber etwas wie {CATEGORY:7} , das mir stur den Überschrifts-Text aus der ID 7 gibt.

Ich erklär mal genau, was ich machen will, vielleicht seh ich ja den Wald vor lauter Bäumen nicht.

Ich habe folgende Struktur:

Home
- DE
-- News
-- Über uns
-- Leistungen
-- Referenzen
--- Referenz-1
--- Referenz-2
--- Referenz-3
- EN
-- News
-- ... etc..

Ich habe pro Sprache (de/en) ein horizontales Top-Menu, das 4 (Haupt-)Menupunkte zeigt.

ich baue dieses Hauptmenu wie folgt:

Code: Select all

<div class="nlu_horiz1">
[PHP]
if(isset($GLOBALS['LEVEL_ID'][1])) {
$level_id = $GLOBALS['LEVEL_ID'][1];
echo '{NAV_LIST_UL:F,'.$level_id.',1,act_path,active}';
}
[/PHP]
</div>
Jetzt gibt es an der Seite ein vertikales Untermenu der 3. Ebene, (sofern die 3. Ebene vorhanden ist),.. das baue ich so:

Code: Select all

<div class="nlu_navi1">
[PHP]
if(isset($GLOBALS['LEVEL_ID'][2])) {
$level_id = $GLOBALS['LEVEL_ID'][2];
echo '{NAV_LIST_UL:F,'.$level_id.',,act_path,active}';
}
[/PHP]
</div>
soweit funktioniert alles super.
Jetzt möchte ich aber im Layout den Hauptmenupunkt an anderer Stelle (nicht im Menu) noch einmal anzeigen. Zum Beispiel riesen große Buchstaben halbtransparent über einem Foto im Layout.
wenn ich im Hauptmenupunkt "Referenzen" (2. Ebene) bin, dann wird mir das Tag {CATEGORY} auch "Referenzen" anzeigen. Wenn ich jetzt aber in den Punkt Referenz-1 (3. Ebene) gehe, dann soll weiterhin "Referenzen" stehen bleiben.

Dieser Code hier schreibt mir für meine Zwecke immer die richtige Level_ID der Hauptebene hin, egal wie Tief ich mich in der Struktur verlaufe:

Code: Select all

[PHP]
if(isset($GLOBALS['LEVEL_ID'][2])) {
echo $GLOBALS['LEVEL_ID'][2];
}
[/PHP]
... es wird immer die Level_ID der 2. Ebene angezeigt. Also perfekt für mich.
Wenn ich etwas hätte wie {CATEGORY:ID} , dann würde ich mir sowas bauen:

Code: Select all

[PHP]
if(isset($GLOBALS['LEVEL_ID'][2])) {
echo '{CATEGORY:'.$GLOBALS['LEVEL_ID'][2].'}';
}
[/PHP]
Das würde dann genau das machen, was ich brauch :)

gibt's sowas ?

Re: Replacement Tag für Seitenebene Überschrift

Posted: Wed 14. Mar 2012, 17:49
by harald
Wenn ich das Ganze richtig verstanden habe, solte es eigentlich so gehen:

Code: Select all

[PHP]
echo $GLOBALS['content']['struct'][($GLOBALS['LEVEL_ID'][2])]['acat_name'];  
[/PHP]

Re: Replacement Tag für Seitenebene Überschrift

Posted: Wed 14. Mar 2012, 17:59
by gent
genial ! danke !

genau so geht das :)

tausend dank !!