Smarty:如何修复“未知修饰符'rewrite'”异常?

Posted

技术标签:

【中文标题】Smarty:如何修复“未知修饰符\'rewrite\'”异常?【英文标题】:Smarty: How to fix "unknown modifier 'rewrite'" exception?Smarty:如何修复“未知修饰符'rewrite'”异常? 【发布时间】:2018-05-02 03:50:17 【问题描述】:

将 Shopware 从 5.2 升级到 5.3 后,出现以下异常:

Smarty:未知修饰符“重写”

错误发生在模板文件中。显然,“重写”修饰符已被删除。如何在模板文件中替换它?

* Product image - uses the picture element for responsive retina images. *
<a href="$sArticle.linkDetails|rewrite:$sArticle.articleName"
   title="$sArticle.articleName|escape"
   class="product--image" style="background-image: url('if $sArticle.image.thumbnails[1].source$sArticle.image.thumbnails[1].sourceelselink file='frontend/_public/src/img/no-picture.png'/if')">
*    <div class="product-hover">
        <span>Auge</span>
        <span>Details</span>
    </div>*

【问题讨论】:

【参考方案1】:

只需使用 $sArticle.linkDetails 代替 $sArticle.linkDetails|rewrite:$sArticle.articleName。 您必须在列表和详细信息页面模板上执行相同操作。

【讨论】:

我已在主题中修复它,但错误仍然出现,我认为所有插件也需要更改 :)【参考方案2】:

将 Shopware 升级到新版本时,应始终阅读 UPGRADE.md 文件并注意代码中的 @deprecated cmets。

您可以在此处找到 Shopware 5.3 的 UPGRADE.md: https://github.com/shopware/shopware/blob/5.3/UPGRADE-5.3.md

如果你搜索removed,你会看到有很多东西被删除了。升级到新版本时必须注意这一点。

【讨论】:

以上是关于Smarty:如何修复“未知修饰符'rewrite'”异常?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 smarty 获取当前 URL

如何自动加载 smarty 插件

如何在 smarty 中找到 foreach 循环的最后一个索引

如何让smarty的显示函数返回一个变量

如何在 Smarty 2x 中动态应用变量修饰符

如何实现php仲smarty的一个列子