Navigation: Custom Tag

Alles rund um die Erstellung von Patches, Behebung von Bugs und Contributions
WIENFLUSS
Junior Member
Beiträge: 11
Registriert: Mo 8. Sep 2008, 09:49
Wohnort: Vienna
Kontaktdaten:

Navigation: Custom Tag

Beitragvon WIENFLUSS » Fr 10. Apr 2009, 18:07

Hallo,

Nachdem es bei der Navigation derzeit nicht möglich ist einzelne Navigations-Elemente zu verstecken, haben wir das meistens so gelöst, dass Navigations-Items (Blätter) einfach nicht angezeigt werden.

Das funktioniert prinzipiell ganz gut, führt allerdings dazu, dass das Tag <we:ifHasEntries>/ nicht immer das gewünschte Ergebnis liefert, da Items für <we:ifHasEntries>/ natürlich auch Einträge sind. Das führt dann zum Beispiel dazu, dass in der zweiten Navigationsebene eine leere ungeordnete Liste ausgegeben wird, woraus Darstellungfehler resultieren.

Um dem beizukommen, haben wir das Tag <we:ifHasFolders /> geschrieben:
Code: Alles auswählen
<?php
/**
* This function checks if the current navigation folder contains sub-folders.
* This is espacially useful for navigations where you want to hide
* navigation items and <we:ifHasEntries>/ would not suffice.
*
* @author Sascha Nemecek
* @param $attribs array
* @return boolean
*/
function we_tag_ifHasFolders($attribs=array(), $content='')
{
if (isset($GLOBALS['weNavigationItemArray']) && is_array($GLOBALS['weNavigationItemArray']))
{
$element = $GLOBALS['weNavigationItemArray'][(sizeof($GLOBALS['weNavigationItemArray']) - 1)];
if (sizeof($element->items))
{
foreach ($element->items as $key => $value) {
if ($value->type == 'folder') {
return true;
}
}
}
return false;
}
}
?>
Vielleicht kann das ja jemand brauchen. ZIP Datei ist im Anhang. Einfach entpacken und im Pfad "webeditionweincludewe_tagscustom_tags" einspielen.


Liebe Grüße,
Sascha

PS: Schöner wäre es natürlich, wenn man diese Funktion per Attribut in <we:ifHasEntries>/ implementieren würde. Aber darauf wollte ich jetzt nicht warten ;-).

Zurück zu „Patches, Bugs und Contributions“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste