hallo,
vielleicht hat jemand lust und ein wenig muße mir hierbei zu helfen.
ich habe eine erweiterung für die gov_textmenu extension vor. diese soll nun mit "dfn" tags arbeiten.
zwischen diesen zählen die werte des Tmenus hoch plus die zahlen der eltern-levels.
klassisch. also:
<dfn>1</dfn> Hallo
<dfn>1.1</dfn> Kind des Hallos
usw.
mit count_HMENU_TMENUITEMS klappt das zählen soweit auch vor den titeln. aber wie übertrage ich die werte des eltern elements. es geht ja quasi nicht um die level der elternelemte sondern um die zahlvergabe bei den jeweiligen duchzählungs automatismen.
man könnte natürlich auch eine variable per url vergeben . das wäre aber unfein. habt ihr da irgenwelche ideen zu ?? vielleicht hat ja auch jemand lust die extension generell mit mir fortzuführen.
grüße,
martin #paralyzed#
Hallo Martin,
hatte das gleiche Problem und habe mir mit einer PHP-Funktion geholfen. Sicher nicht das Eleganteste, weil einfach eine globale Array-Variable gefüllt wird, aber fürs Erste kanns helfen. Mein Menü sorgt für eine Ausgabe, wie in diesem Artikel http://www.einfachfueralle.de/artikel/menues/ beschrieben.
Hier die PHP-Funktion, die bei mir in einer Datei "template_functions" im Ordner "fileadmin/templates" liegt:
<?php
if (!is_object($TSFE)) {
die("You cannot execute this file directly. It's meant to be included from index_ts.php");
}
class user_template_functions {
var $cObj;
function generateIndex($content,$conf) {
global $TSFE;
$TSFE->set_no_cache();
// Init on first call
if (!is_array($GLOBALS['navIndex'])) {
$GLOBALS['navIndex'] = array();
}
// Get level
$level = intval($conf['level']);
$index = $level - 1;
if ($level > count($GLOBALS['navIndex'])) {
$GLOBALS['navIndex'][$index] = 1;
} else {
$GLOBALS['navIndex'][$index]++;
for ($i = $index + 1; $i < count($GLOBALS['navIndex']); $i++) {
$GLOBALS['navIndex'][$i] = 0;
}
}
for ($i = 0; $i < $level; $i++) {
if ($output != "") {
$output .= ".";
}
$output .= $GLOBALS['navIndex'][$i];
}
return $output;
}
}
?>
Hier der TS-Code für das Template:
includeLibs.template_functions = fileadmin/templates/template_functions.php
# menu cObject
temp.nav = HMENU
temp.nav.wrap = <ul> | </ul>
# First level menu-object, textual
temp.nav.1 = TMENU
temp.nav.1 {
noBlur = 1
NO {
ATagParams = class="nav-1-no"
ATagTitle.field = subtitle
allWrap = <li>|<span class="hidden">. </span></li>
stdWrap.prepend = COA
stdWrap.prepend {
10 = TEXT
10.preUserFunc = user_template_functions->generateIndex
10.preUserFunc.level = 1
10.wrap = <dfn>|: </dfn>
}
stdWrap.htmlSpecialChars = 1
}
ACTIFSUB = 1
ACTIFSUB {
ATagParams = class="nav-1-act"
ATagTitle.field = subtitle
allWrap = <li>|<span class="hidden">. </span>
stdWrap.prepend = COA
stdWrap.prepend {
10 = TEXT
10.preUserFunc = user_template_functions->generateIndex
10.preUserFunc.level = 1
10.wrap = <dfn>|: </dfn>
}
stdWrap.htmlSpecialChars = 1
wrapItemAndSub = |</li>
}
CUR = 1
CUR {
doNotLinkIt = 1
allWrap = <li>|</strong></span><span class="hidden">. </span>
stdWrap.prepend = COA
stdWrap.prepend {
10 = TEXT
10.field = subtitle
10.wrap = <span class="nav-1-cur" title="|"><strong>
20 = TEXT
20.preUserFunc = user_template_functions->generateIndex
20.preUserFunc.level = 1
20.wrap = <dfn>|: </dfn>
30 = TEXT
30.value = <span class="hidden">Standort: </span>
}
stdWrap.htmlSpecialChars = 1
wrapItemAndSub = |</li>
}
}
# Second level menu-object, textual
temp.nav.2 = TMENU
temp.nav.2 {
noBlur = 1
wrap = <ul>|</ul>
NO {
ATagParams = class="nav-2-no"
ATagTitle.field = subtitle
allWrap = <li>|<span class="hidden">. </span></li>
stdWrap.prepend = COA
stdWrap.prepend {
10 = TEXT
10.preUserFunc = user_template_functions->generateIndex
10.preUserFunc.level = 2
10.wrap = <dfn>|: </dfn>
}
stdWrap.htmlSpecialChars = 1
}
CUR = 1
CUR {
doNotLinkIt = 1
allWrap = <li>|</strong></span><span class="hidden">. </span></li>
stdWrap.prepend = COA
stdWrap.prepend {
10 = TEXT
10.field = subtitle
10.wrap = <span class="nav-2-cur" title="|"><strong>
20 = TEXT
20.preUserFunc = user_template_functions->generateIndex
20.preUserFunc.level = 2
20.wrap = <dfn>|: </dfn>
30 = TEXT
30.value = <span class="hidden">Standort: </span>
}
stdWrap.htmlSpecialChars = 1
}
}
Wenn jemand Verbesserungsvorschläge hat oder eine bessere Lösung weiß, würde ich gerne auch davon profitieren.
Gruß Jan-Philipp Halle (typo3 [at] jphalle.de)