CODICE HTML:
<html><body> {section name=a loop=$items} {$items[a].title} {include file="/directory/showstuff.html" video=$items[a]} {/section} </body> </html>
CODICE PHP:
$ pid = '12';
$ articoli = $ cbvid-> get_channel_items ($ pid);
assegnare ( 'voci', $ articoli);
Questo funziona perfettamente, con l'integer 12 che è il mio codice php. Tuttavia, volevo aggiungere il numero integer 12 e chiamarlo dal codice html, ma non ha funzionato.
Provai:
<html><body> {section name=a loop=$cbvid->get_channel_items(12)} {$items[a].title} {include file="/directory/showstuff.html" video=$items[a]} {/section} </body> </html>
Ma non ha funzionato. Come posso farlo?
Basta non farlo. Sembra che ti piacerebbe spostare la logica di business sul livello di rappresentazione – non è quello per cui Smarty è usato. Preparare i dati in anticipo, quindi darli al model.
Ma se vuoi davvero che funzioni, usa foreach
<html><body> {foreach from=$cbvid->get_channel_items(12) item=video} {$video.title} {include file="/directory/showstuff.html" video=$video} {/foreach} </body> </html>
Il motivo per cui non ha funzionato con le sezioni era perché non hai definito la variabile $items
, tuttavia, stai cercando di ottenerne il valore. Questo è where devi usare assign
.
<html><body> {assign var="items" value=$cbvid->get_channel_items(12)} {section name=a loop=$items} {$items[a].title} {include file="/directory/showstuff.html" video=$items[a]} {/section} </body> </html>
Comunque, preferisco foreach
.