Autor | Zpráva | ||
---|---|---|---|
DaveL1 Profil * |
#1 · Zasláno: 25. 4. 2008, 01:49:08
Ahoj,
dělám přes Smarty šablonu pro fotogalerii, ale narazil jsem na problém, v php jsem ho řešil přes switch a case ale u Smarty jsem v manuálu nic podobného nenašel, nevíte někdo o něčem takovém, nebo jak udělat, abych měl viz. kód dva sloupce v tabulce vedle sebe? Díky ------------------------------------------------------ <table> {foreach from=$fotogalerie item=item} <tr> <td>{$item.nazev}</td> </tr> <tr> <td><a href="{$item.adresa}.jpg" title="{$item.nazev}"><img src="{$item.adresa}.jpg" alt="nahled_{$item.nazev}.jpg" /></a></td> </tr> <tr> <td>{$item.popis}</td> </tr> {/foreach} </table> |
||
venca12 Profil |
#2 · Zasláno: 25. 4. 2008, 10:35:55
Ahoj,
tvůj post je hodně zmatečný a je velmi obtížné, ne-li nemožné z něj pochopi o co ti skutečně jde. Aby jsi měl dva nebo třeba tři sloupce vedle sebe v tabulce, stačí vyhodit některé části tr tagů z tvého kódu, například takto: <table> {foreach from=$fotogalerie item=item} <tr> <td>{$item.nazev}</td> <td><a href="{$item.adresa}.jpg" title="{$item.nazev}"><img src="{$item.adresa}.jpg" alt="nahled_{$item.nazev}.jpg" /></a></td> <td>{$item.popis}</td> </tr> {/foreach} </table> Pokud tímto kódem nahradíš tvůj kód, budou na jednom řádku tři sloupce vedle sebe. --- Ve smarty můžeš místo konstruktu swtich-case, použít sadu příkazů if-elseif, například takto: {if $a == 1} vypis 1 {elseif $a == 2} vypis 2 {elseif $a == 3} vypis 3 {else} vypis cokoli jineho {/if} |
||
kajaman Profil |
venca12
hmm, taky jsem to nechápal, ale nějak se mi nechtělo věřit, že ten dotaz je fakt na tohle.... :) |
||
DaveL1 Profil * |
#4 · Zasláno: 25. 4. 2008, 15:02:01
Ne, jde mi o to mít dvě <td> o třech řádcích vedle sebe.
------------------ | jedna | dva | ------------------ | tři | čtyři | ------------------ | pět | šest | ------------------ Dřív jsem to dával do case-switch, ale teď to pomocí foreach ve smarty potřebuju vypsat takto vedle sebe a k tomu potřebuji nejak pozměnit můj výše uvedený kód. Děkuji. |
||
kajaman Profil |
#5 · Zasláno: 25. 4. 2008, 15:08:17
Ale to snad není vůbec o Smarty, to je o HTML tabulce, tak jak píše venca12
|
||
DaveL1 Profil * |
#6 · Zasláno: 25. 4. 2008, 15:49:09
Jasně, ale když použiju kod níže, abych měl 2 tabulky vedle sebe, tak se mi to zduplikuje a bude se mi vše vypisovat 2x, ale já prostě chci jen rozdělit výpis na dva sloupce, v php je řešení switch&case, jak to udelat přes Smarty?
<table> {foreach from=$fotogalerie item=item} <tr><td> <table> <tr><td>{$item.nazev}</td></tr> <tr><td><img src="{$item.adresa}.jpg" alt="" /></td></tr> <tr><td>{$item.popis}</td></tr> </table> </td> <td> <table> <tr><td>{$item.nazev}</td></tr> <tr><td><img src="{$item.adresa}.jpg" alt="" /></td></tr> <tr><td>{$item.popis}</td></tr> </table> </td></tr> {/foreach} </table> |
||
venca12 Profil |
#7 · Zasláno: 25. 4. 2008, 18:46:17
DaveL1 Řešením je použít transpozici na pole parametrů, tzn. $fotogalerie a potom vypsat pomocí php. Aplikace algoritmů transpozice si myslím není součást presentační logiky a proto bych ji umístil do samotného skriptu php, před předání hodnot do smarty.
|
||
DaveL1 Profil * |
#8 · Zasláno: 25. 4. 2008, 18:49:11
venca12
Ok, teď mi to prosím ještě vysvětli česky :D transpozice? |
||
Časová prodleva: 16 let
|
0