[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