floating
zahi
- php
hallo ich brauch will mir eine ribbonbar aufbauen nur im unter menu sollen aber nur 3 links angezeigt werden und danach recht weiter aufgelistet werden
foreach($page as $s_page)
{
if($this->navigation()->accept($s_page))
{
$isActive = $s_page->isActive(true);
$liClass = $isActive ? ' class="active"' : '';
$link = $this->menu()->htmlify($s_page);
if(isset($s_page->icon))
{
$icon = '<img src="/img/' . $s_page->icon . '"alt="'
. $this->translate($s_page->getLabel()).'"/>';
$link = str_replace('">', '">'.$icon, $link);
}
echo ' <li' . $liClass . '>' . $link.'</li>', PHP_EOL;
}
}
echo ' </ul>', PHP_EOL, ' </li>', PHP_EOL;
das war der code und in html sieht das ganze so aus
<li class="ribbonBox"><div class="ribbonHeading active">test</div>
<ul class="clearfix">
<li><a href="">test1</a></li>
<li><a href="">test2</a></li>
<li><a href="">test3</a></li>
<li><a href="">test4</a></li>
<li><a href="">test5</a></li>
</ul>
und meine frage ist wie breche ich nach dem 3ten link ab und füge eine neue "box" daneben hinzu
Wie wärs, wenn du beim literator prüfst, ob dieser modulo 3 ist und dann einfach das aktuelle ul schließt und ein neues beginnst. diese elemente kannst du dann mit float einfach nebeneinander positionieren.
Wäre so mein ansatz.
beim literator ?
wie kann ich den überprüfen ob der die ul 3 mal ausführt ?
den die div schliesse ich ja schon früher
Hi zahi!
beim literator ?
Gemeint ist ein Iterator (Zähler), zB:
$i = 0; //Iterator
echo "<ul>";
foreach($foo as $bar){
if ($i == 2){ // wird ausgeführt, wenn 3 hochgezählt wurde
echo "<li>bla</li>";
echo "</ul><ul>";
$i = 0;
} else {
echo "<li>bla</li>";
$i++
}
}
echo "</ul>";
Sinnvoll wäre noch eine Kontrolle, ob das Ende aller Einträge in $foo zufällig mit $i == 2 zusammenfällt, ansosnten generiert es so ein leeres <ul></ul> am Ende. Dafür tut sicher count($foo) seinen dienst.
wie kann ich den überprüfen ob der die ul 3 mal ausführt ?
Iterator hochzählen, bei jedem Durchlauf überprüfen ob er die gewünschte Anzahl erreicht, wenn ja, den Iterator wieder nullen und die Liste abschließen.
Die Listen dann, wie bereits geschrieben, mittels http://de.selfhtml.org/css/eigenschaften/positionierung.htm#float@title=float nebeneinander packen.
tschau
ichen