Neue Liste nach 5 <li>

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

Neue Liste nach 5 <li>

Beitragvon a.albrecht » 9. Nov 2011, 21:22

Hallo Leute,

ich benötige einmal eure Hilfe. Es geht um die Ausgabe der Kategorien - soweit kein Problem, dank dem Downloadbereich auf Redaxo. Es geht mir viel mehr um die Ausgabe im HTML bzw. im Template. So habe ich eine Liste, die nach 5 <li>'s links daneben eine neue Liste anfangen soll.

Code: Alles auswählen
<?php      
echo '<ul id="sub">';
foreach (OOCategory::getRootCategories() as $lev1):
if($lev1->isOnline()):
      
$lev1Size = sizeof($lev1->getChildren());
if($lev1Size != "0"):
foreach ($lev1->getChildren() as $lev2):

if ($lev2->isOnline()):
            
if ($lev2->getId() == $path2) {            
echo '<li><a href="'.$lev2->getUrl().'"><span class="active">'.$lev2->getName().'</span></a></li>';
} else {
echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
}
endif;
            
endforeach;
endif;
      
echo '</li>';      
endif;

endforeach;
echo '</ul>';
?>


Damit habe ich die Liste der Kategorien, wie es sein soll. Mein Layout ist so gestaltet, dass ich lediglich 5 <li>'s nutzen kann. Dann soll rechts daneben eine neue <ul> angelegt werden, sobald ich mehr als 5 Kategorien habe.

Wie kann ich das machen?
a.albrecht
 
Beiträge: 80
Registriert: 17. Dez 2008, 22:43

Re: Neue Liste nach 5 <li>

Beitragvon frag-seb » 9. Nov 2011, 21:40

Hi Albrecht,

bei der Ausgabe sollen auch die Unterkategorien so berücksichtigt werden oder nur die Haupt. ?

Gruß
Jochen
Benutzeravatar
frag-seb
 
Beiträge: 83
Registriert: 27. Sep 2011, 16:53

Re: Neue Liste nach 5 <li>

Beitragvon Cheffchen » 9. Nov 2011, 21:45

Hallo,
na in dem ein Zähler/counter mir einbaust und dann einfach prüfst jeder 5-te.
So ungefähr aber nicht getestet mit 3 neuen Zeilen die dies machen, der rest ist css.
sag mal kann sein das der code auch einige fehler hat? unten wird ein li geschlossen was wohl bie offen war.
Code: Alles auswählen
<?php     
$i=1; # DAS IST NEU
echo '<ul id="sub">';
foreach (OOCategory::getRootCategories() as $lev1):
if($lev1->isOnline()):
     
$lev1Size = sizeof($lev1->getChildren());
if($lev1Size != "0"):
foreach ($lev1->getChildren() as $lev2):

if ($lev2->isOnline()):
           
if ($lev2->getId() == $path2) {           
echo '<li><a href="'.$lev2->getUrl().'"><span class="active">'.$lev2->getName().'</span></a></li>';
} else {
echo '<li><a href="'.$lev2->getUrl().'">'.$lev2->getName().'</a></li>';
}
if($i % 5 ===0){echo '</ul><ul id="sub'.$i.'">';} # DAS IST NEU
$i++; # DAS IST NEU
endif;
           
endforeach;
endif;
     
echo '</li>';     
endif;

endforeach;
echo '</ul>';
?>


Cheffchen
Benutzeravatar
Cheffchen
 
Beiträge: 1129
Registriert: 3. Mär 2009, 12:51
Wohnort: Berlin

Re: Neue Liste nach 5 <li>

Beitragvon Thomas.Blum » 10. Nov 2011, 06:49

Hej,

da die Menüpunkte alle zu der einen Liste gehören, würde ich einen anderen Weg suchen.

Code: Alles auswählen
// Anzahl der Spalten errechnen
$count = ceil( count($lev1->getChildren(true)) / 5 );

// Wrapper
echo '<div class="w'.$count.'">'.$list.'</div>';


.w1 { width: 200px; }
.w2 { width: 400px; }
.w3 { width: 600px; }
.w4 { width: 800px; }

Hierbei würde die Ausgabe aber nicht von links beginnend nach unten sondern von links nach rechts verlaufen. Die genau Positioniereun glässte sich aber über die Prio im Backend steuern.


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

Re: Neue Liste nach 5 <li>

Beitragvon a.albrecht » 5. Dez 2011, 18:18

Vielleicht mal ein anderer Ansatz. Ich weiß nicht, ob es Sinn macht:

Die erste Liste mit 4 li's lasse ich ausgeben. Wenn mehr als 4 Kategorien online sind wird eine zweite <ul> angezeigt, gefloatet rechts daneben. Hier sollen alle <li> ab 5 angezeigt werden.

--
Die Sache mit der $count gefällt mir ganz gut. Wo kommt '.$list.' her?
a.albrecht
 
Beiträge: 80
Registriert: 17. Dez 2008, 22:43


Zurück zu Templates/Navigationen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast