--=REKLAMA=--
Standardowe układy pozycji menu, które używają układu Sekcja - Przegląd lub Kategoria - Przegląd są powodem pewnego zakłopotania. Problem polega na tym, że kiedy domyślny układ złożony jest z więcej niż jednej kolumny, pozycje rozmieszczane są w sposób co najmniej dziwny. Przykład, jak Joomla! może rozmieścić pozycje w takim układzie, przedstawia ilustracja poniżej.
Jak widzisz, zamiast pozycji uporządkowanych w rzędach od lewej do prawej równej wysokości, standardowa kolejność prowadzi z lewej od góry w dół, a następnie z prawej od góry w dół. W rezultacie kolumny są niekiedy w dużej mierze puste, ale co ważniejsze - takie rozmieszczenie nie oddaje faktycznego porządku artykułów.
Joomla! 1.5 ma fantastyczną właściwość przesłaniania domyślnych szablonów szablonami witryny (template overrides). W naszym przypadku chcemy utworzyć nowy szablon dla przeglądu sekcji artykułów i przeglądu kategorii artykułów, uporządkowanych od lewej do prawej i w dół oraz zachowujący równą wysokość pozycji umieszczonych obok siebie. Końcowy efekt będzie podobny do przedstawionego poniżej.
Jak widzisz, artykuły uporządkowane są z większym sensem, zgodnie z naszymi przyzwyczajeniami, a wysokość wierszy dostosowywana jest do dłuższej pozycji.
Stworzenie tabelarycznego układu przeglądu jest bardzo proste.
<tr> <td valign="top"> <table width="100%" cellpadding="0" cellspacing="0"> <?php for( $z = 0, $c = ceil( $this->params->get('num_intro_articles', 4) / $this->params->get('num_columns') ); $z < $c; $z++ ) : ?> <tr> <?php $z == 0 ? $loop = 0 : $loop = $z * $this->params->get('num_columns'); ?> <?php for( $y = $loop; $y < ( $loop + $this->params->get('num_columns') ); $y++ ) : ?> <?php if ($y > $loop) : $divider = " column_separator"; endif; ?> <td valign="top" width="<?php echo intval(100 / $this->params->get('num_columns')) ?>%" class="article_column<?php echo $divider ?>"> <?php if ($y < $this->total && $y < ($numIntroArticles)) : $this->item =& $this->getItem($y, $this->params); echo $this->loadTemplate('item'); endif; ?> </td> <?php endfor; ?> </tr> <?php endfor; ?> </table> </td> </tr> <?php $i = $i + $this->params->get('num_intro_articles') ; ?>
Zapisz pliki. Wszystko! Właśnie stworzyłeś szablony przesłaniające. W nowym wielokolumnowym układzie pozycje będą uporządkowane od lewej do prawej, a wysokość wierszy będzie dostosowana do najdłuższej pozycji w rzędzie.
Więcej informacji na temat tego układu znajdziesz w tym poście na oficjalnym forum Joomla!.
Autor oryginału: dextercowley.
Oryginał: Show Blog Layouts in Table Format.