Hallo,
ich suche einen Inserttag (sofern es ihn gibt) für den Link auf die übergeordnete Hauptmenü-Seite.
Konkret möchte ich {{env::main_name}} nicht nur anzeigen, sondern auch verlinken.
Gibt es dafür einen entsprechenden Tag?
Vielen Dank!
Druckbare Version
Hallo,
ich suche einen Inserttag (sofern es ihn gibt) für den Link auf die übergeordnete Hauptmenü-Seite.
Konkret möchte ich {{env::main_name}} nicht nur anzeigen, sondern auch verlinken.
Gibt es dafür einen entsprechenden Tag?
Vielen Dank!
Moin,
Infos zu den Inserttags gibts hier: http://de.contaowiki.org/GermanInserttags. Für Deinen Fall müsste main_name passen.
Grüße,
Christian
Hallo Christian,
die Seite ist mir bekannt, daher habe ich mir die Angabe zum {{env::main_name}} geholt. Leider ist dort nicht aufgelistet, wie der passende Link dazu lautet.
Hast du dazu eine Idee?
Beste Grüße!
Den Link müsstest du dir aus der ID oder dem Alias dann mit dem jeweiligen Inserttag einach selber bauen.
Viele Grüße
Hallo Wrangelmors,
ich hab' mir schon vor einiger Zeit mal etwas zusammengebastelt, dass mit den vorhandene Inserttags zurechtkommt und das macht, was Du willst.
Ausgangspunkt war:
- Hauptmenüpunkte in horiz. Menü unter dem Header mit Startlevel=0 und Stoplevel=1 sowie Hard Limit.
- Unterpunkte 2.-4. Ebene links in #left, Startlevel=1 und Stoplevel=1, damit zunächst nur die 2. Ebene sichtbar ist.
- darüber quasi als Überschrift bzw Link der entsprechende Hauptmenüpunkt.
Ist der Hauptmenüpunkt aktiv, dann wird dieser nur als Überschrift ausgegeben, sind zugehörige Unterpunkte aktiv (der Hauptmenüpunkt bekommt dann die Klasse "trail"), dann wirkt das als Link.PHP-Code:
<?php
$mainalias = $this->replaceInsertTags( '{{env::main_alias}}' );
$pagealias = $this->replaceInsertTags( '{{env::page_alias}}' );
$mainname = $this->replaceInsertTags( '{{env::main_name}}' );
?>
<div class="leftnav mainlevel">
<ul class="level_1">
<li class="first">
<?php if ( $mainalias == $pagealias ): ?>
<h2><span class="active first"><?php echo $mainname; ?></span></h2>
<?php else: ?>
<h2><a class="first trail" title="<?php echo $mainname; ?>" href="<?php echo $mainalias.'.html'; ?>" onclick="this.blur();" ><?php echo $mainname; ?></a></h2>
<?php endif; ?>
</li>
</ul>
</div>
Den Code packt man in eine php-Datei ( in meinem Fall "nav_main_level_link.php") und legt diese dann im Ordner templates ab.
Dann wird ein neues Modul angelegt Typ "Eigener HTML Code", dies enthält nur die Zeile
Dieses Modul kann dann über der linken Seitenavigation im Seitenlayout eingebunden werden.HTML-Code:{{file::nav_main_level_link.php}}
Gibt sicher elegantere Lösungen, aber die geht auch.
@kos: Ich würde keine Php-Datei erstellen, sondern eine tpl und das ganze in die Templates reinlegen. Dann ist es auch über das Backend pflegbar.
Hallo Stranger,
Ich weis im Moment nicht, wie ich das realisieren könnte. Kannst Du mir hierzu ein Paar Nachhilfetipps geben?
@EDIT: Manchmal steht man halt auf dem Schlauch! Hab' die php-Datei in *.tpl umbenannt und siehe da, das geht auch (inkl. der Bearbeitungsmöglichkeit im BE).
Ich hatte mich wohl zu strikt an die GermanInserttags gehalten, dort stehtund so waren für mich nur php-Dateien möglich.Zitat:
{{file::file.php}}
Dieses Insert-Tag wird durch die Ausgabe der Datei file.php ersetzt. Einzubindende PHP-Dateien müssen sich im Ordner templates befinden. Es ist möglich Argumente zu übergeben.
Danke für den Tipp!
Hallo kos,
ich hatte die gleiche Zielstellung von dir auch mal gelöst, allerdings etwas anders:
https://community.contao.org/de/show...t=191#post3283
Unterschiede:
Ich benutze einfach den Modultyp Navigationspfad (Breadcrumb) für die Überschrift, welcher schon alles mitbringt, was man dafür braucht, incl. trail und so. Ich musste nur den "Schwanz" kappen.
Ich setze die Überschrift als H1 über die Liste und nicht in die Liste hinein, das ist semantisch klarer gelöst.
Ich habe die Mögllichkeit den Einstiegspunkt (level) zu verändern, sollten die Hauptnavigationspunkte einmal auf einem anderen Level liegen.
Alles weitere unter obigem Link. Wichtig, steht aber auch dort: da man für dieses Modul kein altenatives Template auswählen kann, ich das originale aber auch noch benutzen möchte, habe ich das Template erweitert und steuere den erweiterten Tel über die mitgegebene CSS-ID an. Das mit dem YAML kannst du überlesen.
Andreas