Navigation ohne RootCategories

Wie verwendet man Templates oder erstellt Navigationen und passt diese an.

Navigation ohne RootCategories

Beitragvon Gast » 14. Dez 2005, 10:08

Hallo würde eine navigation ohne Anzeige der RootCategories benötigen, da ich mit einem redaxo 2 Webprojekte verwalten möchte. Ist das möglich? Gibt es eine Navigation die nur die Submenüs anzeigt?

gruß Markus
Gast
 

Beitragvon Markus.Staab » 14. Dez 2005, 14:27

Hi Markus,

vergessen einzuloggen?

Anstatt in der ersten Ebene folgendes aufzurufen
Code: Alles auswählen
foreach ( OOCategory::getRootCategories(true) as $lev1)


machst du einfach

Code: Alles auswählen
$root = OOCategory::getCategoryById(2) // hier id der Root Kategorie
foreach ( $root->getChildren(true) as $lev1)


Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Navigation

Beitragvon member31 » 15. Dez 2005, 12:39

erstmal vielen Dank für die hilfe, aber es geht nicht. Bekomme folgende Fehlermeldung:

Parse error: parse error in /srv/www/htdocs/web10/html/babylon-secure.de/redaxo/include/generated/templates/10.template on line 11

hier der Code:

<?

$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];

//--- Start Root

$root = OOCategory::getCategoryById(35)
foreach ( $root->getChildren(true) as $lev1) //hier liegt der Fehler...
if($lev1->isOnline()) {
if($lev1->getId() == $path1) {
echo '<div class="mainaktiv"><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a></div>';
} else {
echo '<div class="maininaktiv"><a href="'.$lev1->getUrl().'">'.$lev1->getName().'</a></div>';
}

//--- End Root

//--- Start Level_1

$lev1Size = sizeof($lev1->getChildren());
if($lev1Size != "0" AND $lev1->getId() == $path1)
{
foreach ($lev1->getChildren() as $lev2):
if ($lev2->isOnline()) {
if ($lev2->getId() == $path2) {
echo '<div class="subaktiv_1"><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></div>
';
} else {
echo '<div class="subinaktiv_1"><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></div>
';
}
}

//--- End Level_1

//--- Start Level_2

$lev2Size = sizeof($lev2->getChildren());
if($lev2Size != "0" AND $lev2->getId() == $path2)
{
foreach ($lev2->getChildren() as $lev3):
if ($lev3->isOnline()) {
if ($lev3->getId() == $path3) {
echo '<div class="subaktiv_2"><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></div>
';
} else {
echo '<div class="subinaktiv_2"><a href="'.$lev3->getUrl().'">'.$lev3->getName().'</a></div>
';
}
}

//--- End Level_2

endforeach;
//--- Close Level_2
}

endforeach;
//--- Close Level_1
}

//--- Close Root
}

endforeach;

?>

Für eine weitere Hilfe wäre ich sehr Dankbar...

Gruß Markus
member31
 
Beiträge: 107
Registriert: 30. Sep 2005, 09:41

Beitragvon Thomas.Blum » 15. Dez 2005, 13:29

Dein fehler ist hier

$root = OOCategory::getCategoryById(35)

mit

$root = OOCategory::getCategoryById(35);

ersetzen.

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Fehler

Beitragvon member31 » 15. Dez 2005, 14:21

Jetzt erhalte ich die Fehlermeldung:

Parse error: parse error in /srv/www/htdocs/web10/html/babylon-secure.de/redaxo/include/generated/templates/10.template on line 70

Diese Zeile:

//--- End Level_2

endforeach;
//--- Close Level_2
}

endforeach;
//--- Close Level_1
}

//--- Close Root
}

endforeach; Line 70

?>
member31
 
Beiträge: 107
Registriert: 30. Sep 2005, 09:41

Beitragvon Markus.Staab » 15. Dez 2005, 14:50

Hi,

es muss anstatt

foreach ( $root->getChildren(true) as $lev1) //hier liegt der Fehler...

so heissen:

foreach ( $root->getChildren(true) as $lev1): //hier liegt der Fehler...

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon member31 » 15. Dez 2005, 14:58

Super, es geht, aber jetzt werden die submenüs level2 nicht mehr angezeit :-(
Wenn das jetzt noch funktionieren würde wäre der hammer...

Gruß Markus
member31
 
Beiträge: 107
Registriert: 30. Sep 2005, 09:41

Beitragvon Markus.Staab » 15. Dez 2005, 15:09

Selbst nachdenken ist ausdrücklich erwünscht... ;-)

versuch ma anstatt

foreach ( $root->getChildren(true) as $lev1):

so:

foreach ( $root->getChildren() as $lev1):

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon member31 » 15. Dez 2005, 15:11

Bin leider kein php programmiere... :-( geht so auch nicht...
member31
 
Beiträge: 107
Registriert: 30. Sep 2005, 09:41

Beitragvon Markus.Staab » 15. Dez 2005, 15:20

Hi,

der Pfad passt net mehr, da du ja jetzt die erste Ebene "ausgelassen" hast.

anstatt so:

Code: Alles auswählen
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


versuch so

Code: Alles auswählen
$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
array_shift( $PATH);
$path1 = $PATH[1];
$path2 = $PATH[2];
$path3 = $PATH[3];


Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon member31 » 15. Dez 2005, 16:01

Absolut spitze, du hast mir mehr als geholfen vielen vielen Dank... alles geht bestens....
member31
 
Beiträge: 107
Registriert: 30. Sep 2005, 09:41


Zurück zu Templates/Navigationen [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast