0

我正在尝试将 RSS Feed Parser PHP Code 重写为 Smarty。不知何故,Smarty 对我不起作用。有人可以帮帮我吗?

<ul>
<?php foreach ($feed['items'] as $item): ?>
    <li>
        <a href="<?= $item['link']; ?>"><?= $item['title']; ?></a>
    </li>
<?php endforeach; ?>
</ul>

我的 Smarty 代码已更新:2013 年 12 月 7 日

{foreach name=aussen item=$feed.items from=$item}
    <li>
        <a href="{$item.link}">{$item.title}</a>
    </li>
{/foreach} 
4

1 回答 1

0

你的 smarty 代码有很多问题。首先,最重要的是,您不应该在同一个文件中包含 php 逻辑和 smarty 格式。您应该单独分配 smarty 变量,然后调用 smarty 进行格式化。但是,如果您坚持使用现有的东西,则需要考虑以下几点:

  1. 你的语法foreach是错误的 - 正确的语法是{foreach from=$variable item=$loop_var}

  2. php 变量在 smarty 中不会自动可用 - 您需要添加 smarty {assign} directive with a combination of{php}echo $php_var{/php}` 以将 php 变量添加到 smarty。

  3. syntax{php}$item['title']{/php}对 php 来说是无效的语法,会导致语法错误。

总的来说,你的方法是有缺陷的。Smarty 非常适合 MVC 应用程序中的表示(视图)层 - 您正在尝试将所有内容合并到一个文件中。不。如果您不确定如何将应用程序正确设置为 MVC,那么 smarty 不适合您。

于 2013-07-11T13:36:05.637 回答