[gelöst] Sekundärlinks ins node.tpl einbinden
Eingetragen von Raetzo (26)
am 28.04.2010 - 14:01 Uhr in
am 28.04.2010 - 14:01 Uhr in
Hallo,
Ich möchte gern Sekundärlinks im Content Bereich ausgeben/anzeigen lassen. Dies aber nicht im Content top Bereich (wär ja zu einfach!) sondern zuerst kommt links ein Bild dann rechts davon die Sekundärlinks und darunter noch Text/Inhalt.
Gibts eine Möglichkeit Sekundärlinks mittels node.tpl.php auszugeben, also wenn ich anstelle von "print $content;" die benötigten variablen ausgebe wie Bild, Sekundärlinks, Text, Titel etc?
Bin langsam am verzweifeln weil ich das eigentlich nicht im Textbereich hardcodieren möchte (löschts der kunde dann ausversehen, muss ich wieder ran - was ja nicht sinn u zweck eines csm ist ;-o)
thnx
Raetzo
- Anmelden oder Registrieren um Kommentare zu schreiben
Du könntest Dir den Block des
am 28.04.2010 - 20:11 Uhr
Du könntest Dir den Block des Menüs per module_invoke holen:
<?php
$block = module_invoke('menu', 'block', 'view', 'secondary-links');
print $block['content'];
?>
Das sieht vielversprechend
am 29.04.2010 - 15:25 Uhr
Das sieht vielversprechend aus. Aber weiss jetzt nicht ob ich was falsch mache (bin nicht PHP versiert)
Mein Codeschnippsel im (?) node.tpl.php sieht wie folgt aus; macht aber gar nichts... was mach ich falsch? Oder muss in den Blöcken, oder Menu-Einstellungen noch was beachtet werden?
<div class="content">
<div class="imgSeite_mta" >
<?php print theme('imagecache', 'mta_content', $field_seite_bild[0][filepath]); ?>
</div>
<div class="secondary_lx">
<?php $block = module_invoke('menu', 'block', 'view', 'secondary-links');
print $block['content'];
?>
</div>
<div class="txtSeite_mta">
<?php print $node->content['body']['#value']; ?>
</div>
</div>
Hmm, ich hab's gerade mal
am 29.04.2010 - 16:09 Uhr
Hmm, ich hab's gerade mal ausprobiert, bei mir funktioniert das bestens. Hat das Menü evtl. keine Einträge?
Hmm, doch das Menu hat
am 29.04.2010 - 16:40 Uhr
Hmm, doch das Menu hat Einträge (Primary mit Secondary Einträgen) Der div secondary_lx schreibts natürlich in den content, aber der ist leer.. oO
<div id="main-inner">
<div id="content">
<div id="navbar">
<div id="navbar-inner">
<div id="primary">
<div id="secondary">
<ul class="links">
<li class="menu-399 first">
<li class="menu-400 last">
</ul>
</div>
</div>
</div>
Submenus hab ich als Quelle der Hauptlinks definiert (Menu Einstellungen) weil diese im Sinne von Sublinks gelten - oder müssen die als Sekundärlinks gespeichert werden? Wobei die ja im div secondary drin sind (oder verwexel ich hier etwas)
Raetzo schrieb Submenus hab
am 29.04.2010 - 16:48 Uhr
Submenus hab ich als Quelle der Hauptlinks definiert (Menu Einstellungen) weil diese im Sinne von Sublinks gelten - oder müssen die als Sekundärlinks gespeichert werden?
Ja, ansonsten sind es Primary Links. Du kannst Dir ja auch mal testweise den Primary Links Block holen, um das zu prüfen.
Ahhh super ja das klappt mit
am 29.04.2010 - 17:03 Uhr
Ahhh super ja das klappt mit den Primary Links!
Aber kann ich denn Sekundärlinks auch so handhaben wie Sublinks? Da ich die Links nicht auf jeder Seite anzeigen möchte, resp. nur die die jeweils zum Primary Link gehören (wie Hauptlink mit Sublink und das für jeden Hauptlink individuell)?
Okay, dann probier's mal
am 29.04.2010 - 19:09 Uhr
Okay, dann probier's mal anders.
template.php:
function phptemplate_preprocess_node(&$vars, $hook) {
$sublevel = menu_navigation_links('primary-links', $level = 1);
$vars['primary_submenu'] = theme('links',$sublevel);
}
node.tpl.php:
<?php print $primary_submenu; ?>
Eingermaßen verständlich? $level = 1 holt die zweite Ebene des Menüs. Ungetestet.
Hey das klappt!! Super vielen
am 30.04.2010 - 12:44 Uhr
Hey das klappt!! Super vielen Dank für Deine Hilfe! Uffh bin ich froh :)
Es zeigt zwar das Submenu 2. an, aber das kann ich mittels CSS ausblenden!
Toll, thnx!!