Hallo, allerseits!
Ich habe gerade ein Typo3-Projekt in Arbeit, und habe mir wegen der komplexen Menüstruktur (fünf Ebenen in zwei Navi-Elementen) ein PHP-Skript geschrieben.
Seit gestern habe ich realUrl im Einsatz.
Nur kriege ich jetzt im PHP-Skript natürlich keine realUrl-konformen Links zustande, zumal das Skript natürlich ausserhalb der Typo3-Klassenstruktur liegt.
Was kann ich tun?
Vielen Dank fürs Lesen
Hallo und willkommen im Forum,
oh Überrschung würd ich sagen 😉
das script mit der TYPO3-API schreiben. TMENU & Co kann komplexe Menüs schon auch handlen
georg
just2b schrieb
Hallo und willkommen im Forum,
oh Überrschung würd ich sagen 😉
das script mit der TYPO3-API schreiben. TMENU & Co kann komplexe Menüs schon auch handlen
georg
Das hatte ich befürchtet :-(
Alternativ könnte man auch per Kickstarter eine echte Extension aus der Navi machen...
just2b schrieb
zeig doch mal dein menü
georg
Du hast es so gewollt:
10.workOnSubPart = DOKUMENT
10.marks {
MAIN_MENU = PHP_SCRIPT_EXT
MAIN_MENU.file = fileadmin/includes/php/primarynavigation.php
...
<?php
$content = generatePrimaryNavigation();
return $content;
function generatePrimaryNavigation()
{
//$content .= print_r($GLOBALS["TSFE"]);
$content .= "<ul class='firstLevelMenu'> \n";
//$content = $htmlTemplate;
$query = "SELECT uid, title FROM pages WHERE pid=123 AND deleted = 0 AND hidden = 0 ORDER by sorting"; // get first level
$res = mysql(TYPO3_db,$query);
while($row=mysql_fetch_assoc($res))
{
// menu open or closed?
if($row["uid"] == $GLOBALS["TSFE"]->id || $row["uid"] == $GLOBALS["TSFE"]->rootLine[2]["pid"])
{
$menuStatus1 = "menuOpened";
$menuStatus2 = "block";
}
else
{
$menuStatus1 = "menuClosed";
$menuStatus2 = "none";
}
// $content .= "--" . $row["uid"] . "<br>";
$content .= "<li id='menu-" . $row["uid"] . "' class='firstLevelMenuItem' onMouseOver='openPrimarySubMenu(\"menu-" . $row["uid"] . "\");' > \n";
$content .= "<div class='firstLevelMenuItemDiv'><a href='index.php?id=" . $row["uid"] . "'>" . $row["title"] . "</a ></div> \n";
$content .= " <ul id='sub-menu-" . $row["uid"] . "' class='secondLevelMenu " . $menuStatus1 . "' style='display: " . $menuStatus2 . "' > \n";
$query2 = "SELECT uid, title FROM pages WHERE pid=" . $row["uid"] . " AND deleted = 0 AND hidden = 0 ORDER by sorting"; // get first level
$res2 = mysql(TYPO3_db,$query2);
while($row2=mysql_fetch_assoc($res2))
{
$content .= " <li><a href='index.php?id=" . $row2["uid"] . "'>" . $row2["title"] . "</a></li> \n";
}
$content .= " </ul> \n";
$content .= "</li> \n";
}
$content .= "</ul> \n";
return $content;
}
?>
Im Prinzip ist das nur ein verschachteltes ul-Konstrukt, aber wegen JS-Effekten bin ich ganz eigen, was die Benennung von divs etc angeht.
Es erschien mir einfacher, das per PHP zu machen, als mich soooo in TS einzufuchsen...
Edit:
Das ist natürlich nur eins von den beiden Navi-Elementen. Das zweite is noch komplexer.
Macht das Sinn, da eine Extension draus zu machen, damit ich überhaupt schon mal sozusagen im typo3-Namensraum bin?
naja wenn man halt soooviel TYPO3 nicht will, kann man auf der anderen Seite auch nicht verlangen, dass alle Vorteile genützt werden können.
Nichtdestotrotz sollte das mit einem TMENU locker gehen, aber nicht ohne grund hätt ich nach dem Menü und nicht dem Script gefrag 😉
georg
just2b schrieb
naja wenn man halt soooviel TYPO3 nicht will, kann man auf der anderen Seite auch nicht verlangen, dass alle Vorteile genützt werden können.
Nichtdestotrotz sollte das mit einem TMENU locker gehen, aber nicht ohne grund hätt ich nach dem Menü und nicht dem Script gefrag 😉
georg
Okay, dann leg ich mir die TMENU-Doku noch mal unter's Kopfkissen :-)
Hast Du zu dem Thema irgendwo ein Lieblingstutorium rumliegen, das Du empfehlen kannst?
zB
#65143
schau dir hier mal das dropdown menü an, nur mal als tipp
georg
just2b schrieb
zB
#65143
schau dir hier mal das dropdown menü an, nur mal als tipp
georg
Cool, besten Dank.
Nachtrag: Du gute Güte, da hast Du Dir aber Arbeit gemacht! Wenn's danach nicht klappt, bin ich wohl selber schuld.
Vielen Dank dafür.