Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][JavaScript][PHP]Podzielenie <ul> przy określonej ilości <li>
Forum PHP.pl > Forum > Przedszkole
zafon
Witam jak w temacie czy istnieje szansa aby podzielić <ul> który zawiera maksymalnie 7 <li> tworzył kolejnego <ul> z listą <li> nie wiem czy dobrze to wytłumaczyłem cały kod który tworzy <ul>, które zawierają <li> wygląda tak :
  1. case "prodkategorie":
  2. //
  3. $NazwaKategorii = Kategorie::NazwaKategoriiId($strona[1]);
  4. $NazwaKategoriiSeo = Kategorie::NazwaKategoriiSeoId($strona[1]);
  5. //
  6. if ( !empty($NazwaKategorii) ) {
  7. //
  8. $DoWyswietlania .= $tagPoczatek . '<a href="' . Seo::link_SEO( $NazwaKategoriiSeo, $strona[1], 'kategoria') . '">' . $NazwaKategorii . '</a>';
  9. //
  10. $TablicaPodkategorii = Kategorie::TablicaKategorieParent($strona[1]);
  11. //
  12. if ( count($TablicaPodkategorii) > 0 ) {
  13. //
  14. $DoWyswietlania .= '<ul class="ul-podkategorie">';
  15. //
  16. foreach ( $TablicaPodkategorii as $Podkategoria ) {
  17. //
  18. $DoWyswietlania .= '<li>' . '<a href="' . Seo::link_SEO( $Podkategoria['seo'], $strona[1] . '_' . $Podkategoria['id'], 'kategoria') . '">' . $Podkategoria['text'] . '</a>' . '</li>';
  19. //
  20. }
  21. //
  22. $DoWyswietlania .= '</ul>';
  23. //
  24. }
  25. //
  26. unset($TablicaPodkategorii);
  27. //
  28. $DoWyswietlania .= $tagKoniec;
  29. //
  30. }

trueblue
Otwieraj <ul> i zamykaj </ul> w odpowiednim momencie.

A czy czasem nie wystarczy Ci: https://developer.mozilla.org/en-US/docs/We...SS/column-count ?
zafon
Zgadza się, ale niestety podzieli to tylko równe części jeżeli nie to brzydko to potem wygląda ;/ . Dzięki za pomoc. Myślisz może że w Jquery może da rade to zrobić?
Chcę wykonać coś podobnego jak jest w https://www.morele.net/ smile.gif
trueblue
Myślę, że jesteś w stanie to zrobić w PHP. Przecież wstawiasz tam <ul> i </ul>. Rób to po prostu co każde 7 pozycji.
zafon
Znalazłe takie rozwiązanie tylko nie wiem jak go wykorzystać w wyżej podanym kodzie ?
  1. <?php
  2. $data = array(1,2,3,4,5,6,7,8,9,10,11,12);
  3.  
  4. $break_after = 5;
  5.  
  6. $counter = 0;
  7. $totalNumber = count($data);
  8. foreach ($data as $item)
  9. {
  10. if ($counter % $break_after == 0)
  11. {
  12. echo '<ul>';
  13. }
  14.  
  15. echo '<li>'.$item.'</li>';
  16.  
  17. if ($counter % $break_after == ($break_after-1) || $counter == $totalNumber-1) {
  18. echo '</ul>';
  19. }
  20. ++$counter;
  21.  
  22. }


Faktycznie w zupełności column-count poradził sobie nawet przy nieparzystych li

  1. .ul-podkategorie{
  2. padding: 15px!important;
  3. -webkit-column-count: 3;
  4. -moz-column-count: 3;
  5. -ms-column-count: 3;
  6. -o-column-count: 3;column-count: 3;
  7. -webkit-column-gap: 30px;
  8. -moz-column-gap: 30px;
  9. -ms-column-gap: 30px;
  10. -o-column-gap: 30px;
  11. column-gap: 30px;
  12. }
  13. ul.ul-podkategorie li {
  14. -webkit-column-break-inside: avoid;
  15. column-break-inside: avoid;
  16. page-break-inside: avoid;
  17. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.