【问题标题】:PHP foreach to SmartyPHP foreach 到 Smarty
【发布时间】:2013-07-11 13:28:33
【问题描述】:

我正在尝试将 RSS Feed Parser PHP 代码重写为 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} 

【问题讨论】:

  • 是的,但我不是程序员。边做边学,如果人们允许的话,而不是通过询问和得到菜鸟的答复。如果您检查声誉 -1,那么您会问自己存在什么 stackoverflow?只有专业人士才能成为尤达大师?
  • 您应该做一些研究,尝试自己做,尝试解决问题 - 作为最后的手段来提问。
  • 哦,是的,你是对的,Aleks! “尝试自己做” Stackoverflow 是什么?你怎么知道这是否不是我最后的手段?如果我已经找到了结果,我还需要你吗?!

标签: php foreach smarty


【解决方案1】:

您的 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. 语法{php}$item['title']{/php}是php的无效语法,会导致语法错误。

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

【讨论】:

  • 我想将它嵌入到基于 Smarty 的 CMS 中。这就是为什么要尝试在 Smarty 中重写它。
猜你喜欢
  • 2021-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多