2011-10-22 5 views
0

Je code suivant dans un fichier avec l'extension .tpl (modèle Smarty)Conversion XML en fichier Smarty .tpl?

{foreach from=$randomSites value=site} 
    <a href="{$site|objurl:'siteDetails'}" title="{$site.siteTitle}" > 
    <img alt="{$site.siteTitle}" src="{$site.imageSrc}" class="random_image" /> 
    </a> 
{/foreach} 

Elle produit une liste de sites avec des vignettes ..

Est-il converti possible ce code dans un fichier XML avec un classe simplexml ou similaire?

Je dois d'abord convertir en code PHP?

Répondre

1

Vous avez deux choix. Tout d'abord, vous pouvez utiliser un template Smarty pour créer votre XML, quelque chose comme ceci:

<sites> 
{foreach from=$randomSites value=site} 
    <site> 
    <url>{$site|objurl:'siteDetails'|escape:'url'}</url> 
    <title>{$site.siteTitle|escape}</title> 
    <image-url>{$site.imageSrc|escape:'url'}</image-url> 
    </site> 
{/foreach} 
</sites> 

Deuxièmement, comme vous le suggérez, vous pouvez construire votre arbre XML dans une bibliothèque comme SimpleXML ou DOM en mémoire, puis sérialiser à disque. L'avantage est que la bibliothèque empêchera toute erreur de balisage XML; l'inconvénient est qu'il sera plus difficile pour un spécialiste non-XML d'imaginer à quoi ressemblera la sortie en fonction des appels de bibliothèque.

+0

mmmm remercie le problème est que j'ai besoin d'adapter votre code à carrousel de flshow.net: transparent \t \t flower.jpg fleur.jpg fleur.jpg \t grigione

+0

Il devrait fonctionner de la même façon: ... {foreach from = $ randomSites item = le site} [[tout]] {/ foreach} Canuck

Questions connexes