Преобразование XML в файл Smarty .tpl? - PullRequest
0 голосов
/ 23 октября 2011

У меня есть следующий код в файле с расширением .tpl (шаблон Smarty)

{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}

Создает список сайтов с миниатюрами.

Возможно ли преобразовать этот код вXML-файл с классом simplexml или аналогичным?

Я должен сначала преобразовать код PHP?

1 Ответ

1 голос
/ 23 октября 2011

У вас есть два варианта. Во-первых, вы можете использовать шаблон Smarty для создания вашего XML, что-то вроде этого:

<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>

Во-вторых, как вы предлагаете, вы можете построить свое дерево XML в библиотеке, такой как SimpleXML или DOM, в памяти, а затем сериализовать его на диск. Преимущество состоит в том, что библиотека предотвратит любые ошибки разметки XML; недостаток в том, что для не-XML-специалиста будет сложнее представить, как будет выглядеть вывод на основе вызовов библиотеки.

...