[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • Navigation nochmal
Seite 1 von 1

Navigation nochmal

Verfasst: 11. Feb 2005, 12:26
von Peter.Bickel
Hallo zusammen,

nachdem ich nun schon ewig rumprobiert habe, mal wieder eine Frage zur Navigation:
Wie könnte man das mittels OOF realisierte Menü
(http://wiki.redaxo.de/pmwiki.php/Main/O ... dFramework)
so modifizieren, dass bei einer Unterseite die jeweilige Oberkategorie als aktiv markiert ist?
Also so wie im Demo-Menü, das aber leider nur zwei Menüebenen hat und deshalb für mich nicht verwendbar ist.

Man müsste also irgendwie die ParentID abfragen, aber diese class.oocategory.inc.php ist zu hoch für mich, sorry.

Mal als Anregung: Da diese Navigationen ja immer wieder von vielen nachgefragt werden, wäre es doch mal sinnvoll, jeweils ein Beispiel für folgende Menütypen anzugeben (entweder im WIKI oder gleich in der Demo):
- Menü mit 3 oder besser noch 4 Ebenen
- so codiert, dass Kategorien oder Seiten mit Offline-Status nicht im Menü erscheinen
- wahlweise mit Möglichkeit, die jeweilige Seite mit Oberkategorie als aktiv im Menü darzustellen (mit CSS)
- wahlweise einmal vollständig ausgeklappt und einmal nur der jeweils aktive Unterbaum ausgeklappt
- wahlweise mit Möglichkeit, die Hauptkategorie von den Unterkategorien getrennt darzustellen (z.B. Hauptmenu oben horizontal, Untermenü links vertikal)

Ich hab wirklich versucht, mir mein benötigtes Menü aus den vielen Forumsbeiträgen zusammen zu klauben, aber ich kam bisher nicht ans Ziel.

Danke und viele Grüße,
Peter.

Verfasst: 11. Feb 2005, 13:32
von Thomas.Blum
schau mal auf http://www.karate-portal.com/index.php? ... -Bund.html

im oberen bereich ist die hauptnavigation.

je nachdem welchen link man geklickt hat wird die entsprechende unternavigation eingelesen (linke seite). der aktuelle link wird immer speziell angezeigt.

INFOS zur NAVI:
- wurde per oof realisiert
- wird per css angepasst
- wurde in xhtml 1.0 strict gebaut.
- kategorien die offline sind werden nicht angezeigt
- es wird der Artikeltyp ausgelesen


meinst du sowas?

lg thomas

Verfasst: 11. Feb 2005, 13:43
von Peter.Bickel
Hallo Thomas,

genau sowas meine ich!
Wenn das Menü jetzt auch noch so realisiert ist, dass eine dritte Menüebene machbar ist (ist bei Dir nicht der Fall, soweit ich das gesehen habe), wäre ich stark interessiert daran.
Würdest Du den Code posten?

Danke und beste Grüße,
Peter.

Verfasst: 11. Feb 2005, 14:05
von Thomas.Blum
die dritte ebene wird ebenso dagestellt unter

http://www.karate-portal.com/index.php? ... -Bund.html

ebenen reihenfolge
1/ adressen -> 2/ dojos / vereine -> 3/ djkb


werde den code posten, aber wird leider nicht vor montag.

lg thomas

Verfasst: 11. Feb 2005, 14:11
von Peter.Bickel
Super!
Vielen Dank im voraus.

Peter.

Verfasst: 15. Feb 2005, 00:44
von Thomas.Blum
hier die navis die unter karate-portal.com verwendet werden

main-nav

Code: Alles auswählen

<?php

// EXPLODE PATH
$PATH = explode("-",$this->getValue("path"));


// GET CURRENTS
if(count($PATH)==1) $MAIN = $PATH[0];
else $MAIN = $PATH[1];

$navMain = "";
foreach (OOCategory::getRootCategories() as $LEVEL00) {
if ($LEVEL00->isOnline() ):
if ($LEVEL00->getId() == $MAIN ) {
$navMain .= '<li id="active"><a href="index.pp'.$LEVEL00->getUrl().'" class="current">'.$LEVEL00->getName().'</a></li>';
}
else {
$navMain .= '<li><a href="'.$LEVEL00->getUrl().'">'.$LEVEL00->getName().'</a></li>';
}
endif;
}
echo '<ul id="nav-main">';
echo $navMain;
echo '</ul>';
?>
sub-nav

Code: Alles auswählen

<?php
// EXPLODE PATH
$PATH = explode("-",$this->getValue("path"));

// GET CURRENTS
if(count($PATH)==1) {
    $MAIN = $PATH[0];
}
else {
    $MAIN = $PATH[1];
    $SUB01  = $PATH[2];
    $SUB02  = $PATH[3];
}

$navSub = "";
foreach (OOCategory::getRootCategories() as $LEVEL00) {
if ($LEVEL00->isOnline() ):
if ($LEVEL00->getId() == $MAIN) {
$startArticle = $LEVEL00->getStartArticle();
if ($SUB01 == "")
$navSub .= '<li class="head"><a href="'.$startArticle->getUrl().'" class="current">'.$startArticle->getName().'</a></li>';
else
$navSub .= '<li class="head"><a href="'.$startArticle->getUrl().'">'.$startArticle->getName().'</a></li>';
foreach ($LEVEL00->getChildren() as $LEVEL01):
$startart = $LEVEL01->getStartArticle();
if($startart->_type_id == "1"){
if ($LEVEL01->isOnline() ):
if ($LEVEL01->getId() == $SUB01) {
$navSub .= '<li class="active"><a href="'.$LEVEL01->getUrl().'" class="current">'.$LEVEL01->getName().'</a>';
if ($SUB02 != "") :
$LEVEL02_Test = OOCategory::getCategoryById($SUB01);
$Groesse = sizeof($LEVEL02_Test->getChildren());
if($Groesse != "0") {
$navSub .= '<ul class="nav3rd">';
foreach ($LEVEL01->getChildren() as $LEVEL02 ) {
$startart = $LEVEL02->getStartArticle();
if($startart->_type_id == "1") {
if ($LEVEL02->isOnline() ):
if ($LEVEL02->getId() == $SUB02)
$navSub .= '<li class="active"><a href="'.$LEVEL02->getUrl().'" class="current">›› '.$LEVEL02->getName().'</a></li>';
elseif ($LEVEL02->getName() == "" )
$navSub .= '<li class="blank">&nbsp;</li>';
else $navSub .= '<li><a href="'.$LEVEL02->getUrl().'">›› '.$LEVEL02->getName().'</a></li>';
endif;
}
}
$navSub .= '</ul>';
}
endif;
$navSub .= '</li>';
}
elseif ($LEVEL01->getName() == "" )
$navSub .= '<li class="blank">&nbsp;</li>';
else $navSub .= '<li><a href="'.$LEVEL01->getUrl().'">'.$LEVEL01->getName().'</a></li>';
endif;
}
endforeach;
}
endif;
}

echo '<ul class="nav2nd">';
echo $navSub;
echo '</ul>';
?>
sollte xhtml konform sein.

wie bereits erwähnt wird hier oof verwendet und nicht unbedingt zu empfehlen ist.

gruss thomas

Verfasst: 15. Feb 2005, 09:32
von Peter.Bickel
Hallo Thomas,

vielen Dank für die Mühe!!

Aber bei mir erscheint die dritte Menüebene nicht. Muss ich dazu noch irgendwas anderes tun als den Code in das Seitenmenü-Template kopieren?

Viele Grüße,
Peter.

Verfasst: 15. Feb 2005, 09:44
von Thomas.Blum
da ich mit teasern arbeite und dort der link zur nächsten ebene erscheint wird die ebene erst dann angezeigt wenn man sich in der jeweiligen ebene befindet.


gruss thomas

Verfasst: 15. Feb 2005, 09:55
von Peter.Bickel
Aber das passiert bei mir leider auch nicht.
Ich klicke einen Menüpunkt der zweiten Ebene an, die dritte Menüebene erscheint jedoch nicht.

Grüße,
Peter.

Verfasst: 15. Feb 2005, 09:58
von Thomas.Blum
wie gesagt erst nach dem bei mir man auf den teaser artikel geklickt hat, erscheint die dazugehörige unternavigation.


PS: du darfst auch selbst coden.
PPS: es sind nur 4 zeichen notwendig um den gewünschten effekt darzustellen

edit:
auf welcher domain darf man es denn mal zu sehen bekommen?

Verfasst: 15. Feb 2005, 12:22
von Peter.Bickel
Hallo Thomas,

ah, jetzt sehe ich, was Du meinst. Wenn ich eine Unterseite direkt aufrufe, dann erscheint die Ebene.
Ich würde gern selbst das Menü umschreiben, wenn ich es könnte. Aber das ist entschieden zu hoch für mich. Wenn es nicht zu mühsam ist, wäre es toll, wenn Du mir einen Tipp geben könntest.

Die Seiten, die ich gerade erstelle, sind noch Kraut und Rüben und ohne Inhalt. Aber Du kannst mal einen Blick werfen auf:
http://www.albatros-outdoor.de/index.php?article_id=27

Das Hauptmenu wird hier natürlich nicht dynamisch ausgelesen. Dann gibt es noch zwei weitere Menüebenen. Wenn man auf "Fahhrad"oder "Kanu" im linken Menü klickt, sollte halt gleich die dritte Ebene erscheinen.

Lieben Dank für die geduldige Hilfe,
Peter.

Verfasst: 15. Feb 2005, 12:32
von Thomas.Blum
suche nach

Code: Alles auswählen

if ($SUB02 != "") :
und ersetze es mit

Code: Alles auswählen

//if ($SUB02 != "") :

suche das entsprechende endif; und schreibe //endif;

aus kommentieren damit man schneller die andere varainte wieder hat. kannst aber natürlich auch löschen.

gruss thomas

Verfasst: 15. Feb 2005, 13:16
von Peter.Bickel
Super Thomas,

du hast was gut! (Wenn es was gibt, womit ich Dir eine Freude machen kann ...)

Schöne Grüße,
Peter.

Verfasst: 15. Feb 2005, 16:25
von Markus.Staab
pbickel hat geschrieben:Super Thomas,

du hast was gut! (Wenn es was gibt, womit ich Dir eine Freude machen kann ...)

Schöne Grüße,
Peter.
ich glaub der steht auf Bratwurst.. ;)

Verfasst: 15. Feb 2005, 17:42
von Peter.Bickel
kills hat geschrieben:ich glaub der steht auf Bratwurst.. ;)
Das lässt sich aber so schlecht per Email verschicken ...

Menue mit untermenue ...

Verfasst: 28. Feb 2005, 23:24
von stuttgarter
Hallo


Ich habe nun das Menue eingebunden...
Das Haptmenue erscheint aber links in einem "container " nicht oben quer... ich habe das 2.7 Demo template etwas verändert...

http://www.schreinerei-muck.de/index.php?article_id=28

und welche css datei muss ich ändern um es anzupassen ..?

und beim wiederholten drücken des bottons referenzen erscheint eine fehler seite .. ?

grüssle stutti

Verfasst: 1. Mär 2005, 08:53
von Thomas.Blum
Hej Stuttgarter,

nun ja was soll ich sagen. Man kommt bei Redaxo nicht sehr weit, wenn man alles nur per copy + paste macht. Man braucht schon Programmierkenntnisse in den Sprachen HTML, "normales CSS", PHP und MySQL. Sofern du Teile verwenden möchtest die ich programmiert habe (zum Bspl. diese Navigation), kommt noch XHTML und "richtige" CSS-Programmierung dazu.

Viele Grüße Thomas