[Typo3-german] userdefiniertes Menu
Lars Jonuscheit
Merlin732 at web.de
Wed Aug 24 13:23:45 CEST 2005
Moin,
ich arbeite seit 3 Wochen mit Typo3 und habe eine Frage, zu der ich bisher einfach keine Lösung finden konnte. Ich hoffe mir kann jemand weiterhelfen.
Es geht darum ein TMENU zu basteln, dass bestimmte Eigenschaften erfüllt.
Daher musste ich auf userdefined zurückgreifen. Ich habe mir ein PHP-Script erstellt, was die gewünschte Aufgabe erfüllt und es in Typoscript (also ins Template) eingebunden...leider erscheint keine Ausgabe.
Im TS sieht es folgendermaßen aus:
includeLibs.fakemenuitems = media/scripts/example_itemArrayProcFunc.php
MENU_LINKS = HMENU
MENU_LINKS {
1.special = userdefined
1.special.userFunc = user_itemArrayProcFuncTest
1 = TMENU
}
Und das PHP-Script:
<?php
function user_itemArrayProcFuncTest($menuArr,$conf) {
if (!count($menuArr)) { // There must be no menu items if we add the parent page to the submenu:
$parentPageId = $conf['parentObj']->id; // ID der parent Seite
$actualPageId = $GLOBALS["TSFE"]->id; // ID der aktuellen Seite
$menuItemsArray;
$x=0;
// Ausgabe der Eltern
$sql_1 = "SELECT title FROM pages WHERE uid = $parentPageId ORDER BY uid DESC"; //wo uid = pid von oben
$result_1 = mysql_query($sql_1); // ausführen des selects und speichern in ein resultset
$row_1 = mysql_fetch_array($result_1); // ausgeben des titels der seite
$menuItemsArray[$x]['title'] = $row_1['title'];
$menuItemsArray[$x]['uid'] = $row_1['uid'];
$x++;
//Ausgabe der Geschwister
$sql_2 = "SELECT uid, title FROM pages WHERE pid = $parentPageId ORDER BY uid DESC"; // Auswählen und umordnen
$result_2 = mysql_query($sql_2); // ausführen des selects und speichern in ein resultset
while($row_2 = mysql_fetch_array($result_2)) // schleife solange ausführen bis resultset keine zeilen mehr hat
{
$menuItemsArray[$x]['title'] = $row_2['title'];
$menuItemsArray[$x]['uid'] = $row_2['uid'];
$x++;
}
// Ausgabe der Kinder
$sql_3 = "SELECT uid, title FROM pages WHERE pid = $actualPageId ORDER BY uid DESC";
$result_3 = mysql_query($sql_3); // ausführen des selects und speichern in ein resultset
while($row_3 = mysql_fetch_array($result_3)) // schleife solange ausführen bis resultset keine zeilen mehr hat
{
$menuItemsArray[$x]['title'] = $row_3['title'];
$menuItemsArray[$x]['uid'] = $row_3['uid'];
$x++;
}
}
return $menuItemsArray;
}
?>
Meinem Verständnis nach müsste es funktionieren, aber da ich wie gesagt erst seit knapp 3 Wochen mit Typo3 arbeite war ich noch nicht so tief vorgedrungen.
Kann mir jemand helfen?
mfg Lars
var bodytag = ""; document.body.style.fontFamily ='Verdana'; function strip(value) { if(value != undefined){ while (value.indexOf(" ")==0) { value = value.substring(1,value.length); } } return value; } document.body.bgColor = '#ffffff'; var bodystyle = 'font-size:9pt; font-family:Verdana; font-family: Verdana'; var styles = bodystyle.split(";"); for (i=0; i<styles.length; i++) { werte = styles[i].split(":"); var key = strip(werte[0].toLowerCase()); var value; if (werte.length>2) { value = werte[1]; for (j=2;j<werte.length;j++) { value = value + ":" + werte[j]; } value = strip(value); } else { value = strip(werte[1]); } switch(key) { case "background-position": document.body.style.backgroundPosition = value; break; case "font-weight": document.body.style.fontWeight = value; break; case "font-size": document.body.style.fontSize = value; break; case "background-image": document.body.style.backgroundImage = value; break; case "margin": document.body.style.margin = value; break; case "color": document.body.style.color = value; break; case "background-repeat": document.body.style.backgroundRepeat = value; break; case "font-style": document.body.style.fontStyle = value; break; case "font-family": document.body.style.fontFamily = value; break; case "background-color": document.body.style.backgroundColor = value; break; case "margin-left": document.body.style.marginLeft = value; break; case "margin-right": document.body.style.marginRight = value; break; case "margin-top": document.body.style.marginTop = value; break; case "margin-bottom": document.body.style.marginBottom = value; break; default: } } </SCRIPT>
Mit der Gruppen-SMS von WEB.DE FreeMail können Sie eine SMS an alle
Freunde gleichzeitig schicken: http://freemail.web.de/features/?mc=021179
More information about the TYPO3-german
mailing list