XML 转换为 Smarty .tpl 文件?

发布于 2024-12-11 23:05:02 字数 389 浏览 0 评论 0原文

我在扩展名为 .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}

它会生成带有缩略图的站点列表。

是否可以使用 simplexml 类或类似类将此代码转换为 XML 文件?

我必须先转换 PHP 代码吗?

I have following code in a file with extension .tpl (Smarty template)

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

It produce a list of sites with thumbnails..

Is it possible convert this code in a XML file with a simplexml class or similar?

I must convert in PHP code first?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡忘如思 2024-12-18 23:05:02

你有两个选择。首先,您可以使用 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>

其次,正如您所建议的,您可以在内存中的 SimpleXML 或 DOM 等库中构建 XML 树,然后将其序列化到磁盘。好处是该库可以防止任何 XML 标记错误;缺点是非 XML 专家很难根据库调用来描绘输出的样子。

You have two choices. First, you can use a Smarty template to create your XML, something like this:

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

Second, as you suggest, you can build your XML tree in a library like SimpleXML or DOM in memory, then serialize it to disk. The benefit is that the library will prevent any XML markup errors; the disadvantage is that it will be harder for a non-XML-specialist to picture what the output will look like based on the library calls.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文