Wyświetlanie zdjęć w kolumnach 2007-07-01

Przy galerii zdjęć bardzo często spotykamy się z wyświetlaniem poszczególnych zdjęć w tabeli. Automatyzacja tego zadania odbywa się poprzez wykorzystanie reszty z dzielenia, czyli mówiąc stricte informatycznie - operatora modulo, reprezentowanego w php poprzez znak %.

Często zdarza się, że przy generowanej tabeli istnieją na końcu puste pola. Np. mamy w tablicy 8 elementów, a rozdzielamy elementy na 3 kolumny. Zostanie nam 1 pole. To puste pole generuje pewne problemy przy określaniu kiedy kończy się tabela. Jednym ze sposobów poradzenia sobie z tym problemem jest dopełnić tablicę pustymi elementami, co czyni poniższy kod php.

Teraz zajmiemy się generowaniem tabeli. Postanowiłem zaprezentować rozwiązanie przy użyciu systemu szablonów smarty oraz bez. Najpierw zaprezentuje rozwiązanie w "czystym" php.

Rozwiązanie przy użyciu smarty wyglądałoby następująco.

<table>
{foreach from=$documents item=row key=key}
{if !($key % $columns)}
<tr>
{/if}
	<td>
	{if $row}
		<img src="{$row.img}" alt="{$row.title}" />
	{/if}
	</td>
{if !(($key-$columns+1) % $columns)}
</tr>
{/if}
{/foreach}
</table>
PHP, kolumny, lista, tabela, zdjęcia, artykuł, blog Szablony, kolumny, lista, tabela, zdjęcia, artykuł, blog Techblog, kolumny, lista, tabela, zdjęcia, artykuł, blog

Słowa kluczowe: PHP, Szablony, Techblog, kolumny, lista, tabela, zdjęcia, artykuł, blog

Komentarze i opinie
2007-07-02 01:09

Kto jeszcze tabelek używa? Teraz wystarczy taki kod generować:

<div class="container">
<div><img src="obrazek01.jpg" alt="" /></div>
<div><img src="obrazek02.jpg" alt="" /></div>
</div>

I dodać trochę CSS - czytelność wyższa i możliwości zmiany większe.

2007-07-02 08:19

Nawet div'ów nie trzeba, wystarczy float dla obrazka i ew display:block ;)

Michał Górny
2007-07-02 09:33

Ja tak odnośnie pierwszej części — nie lepiej zamiast tablicy hashy dać jeden wielki hash?

Tj. $aData = array('1.jpg' => 'kurs blabla', …);

sf
2007-07-02 09:35

Nie bardzo, dla uproszczenia przedstawiłem tylko 2 parametry, a przeważnie jest ich więcej.

soomal
2007-07-05 22:58

Eh, jaki żal.
Autor i speedy. Jedyny sensowny zapis tego to:
<ul>
<li><img /></li>
<li><img /></li>
</ul>

kserkes
2007-08-06 14:59

po co się w sposobach prześcigacie.. niech każdy robi tak jak uważa za najprostrze :P

sf
2007-08-06 15:04

Jak dostaje stronę pociętą na tabelkach to trzymam się tabelek ;) Jak pisze od zera to użyje list :P

shorty
2008-07-09 12:04

To był artykuł o php, czy css ?!

Nowy komentarz
 
 
Projektowanie i tworzenie stron www w PHP5. Opisy i recenzje oprogramowania typu cms, blog, wiki, open source.