[TYPO3-german] Anzahl der Unterseiten ermitteln
Chi Hoang
chibo at gmx.de
Thu Feb 23 00:39:53 CET 2006
> Die Funktion habe ich mit
> page.includeLibs.user_submenu = fileadmin/scripts/user_submenu.php
> Ins TS eingebunden
includeLibs.user_submenu = fileadmin/scripts/user_submenu.php (ohne page)
> Soweit ich gelesen habe, wird das übergebene Array I in der angegebenen
> Funktion (user_submenu) verarbeitet. Wie und wo wird der ermittelte Wert nun
> zurückgegeben?
Der Wert wird nicht zurückgegeben. Es wird nur das Array I
zurückgegeben. Am besten speicherst Du den Wert in $GLOBALS['TSFE']
eindeutig ab. Dann vergleichst Du in einer 2 Bedingung den $I['key']
damit. Sobald die Bedingung erfüllt ist, kannst Du das alte CSS
überschreiben.
Hier mal ein funktionierendes Beispiel aus der Praxis:
Ziel bei der Funktion softedge() sind runde Ecke an dem letztem Menu von
allen Untermenus. Die Funktion softedge() zählt alle Untermenüs wie
beschrieben und speichert diese eindeutig ab. Wenn das letzte Menu
erreicht ist, wird der TS-Parameter 'allWrap' ausgetauscht.
<?php
class user_submenu {
function softedge($I,$conf) {
if ($I['key'] == 0) {
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery( 'pages.*',
'pages',
'pid='.$I['pid'].
' AND pages.deleted=0 AND pages.hidden=0');
$count = $GLOBALS['TYPO3_DB']->sql_num_rows($res);
$GLOBALS['TSFE']->page['ch_softedge'][$I['pid']]['count']=$count-1;
}
´ if ($GLOBALS['TSFE']->page['ch_softedge'][$I['pid']] && $I['key'] ==
$GLOBALS['TSFE']->page['ch_softedge'][$I['pid']]['count']) {
$I['val']['allWrap']='<tr><td id="tmenu{elementUid}"
style="background:#eaf0f0;"><table border="0" class="subMenuZelle"
cellpadding="0" cellspacing="0"
width="100%"><tr><!--TYPO3SEARCH_end-->|<!--TYPO3SEARCH_begin--></tr></table></td></tr><tr><td><table
border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><img
src="fileadmin/Templates/layoutdaten/html/images/subnav-schluss-li.gif"></td><td
width="98%"
style="background:url(fileadmin/Templates/layoutdaten/html/images/subnav-schluss-mi.gif)
repeat-x;"><img src="clear.gif" width="1" height="4"></td><td><img
src="fileadmin/Templates/layoutdaten/html/images/subnav-schluss-re.gif"></td></tr></table></td></tr>';
}
// Returns:
return $I;
}
}
?>
More information about the TYPO3-german
mailing list