这是问题所在:
1-我有一个名为 products.tpl 的智能模板。大约 5 个文件,每个文件在演示代码中都与另一个不同。它们都呈现相同的变量并具有相同的名称但位于不同的目录中。
2- 我无权访问为这些模板提供变量的应用程序代码。所以我不能在原始应用程序中更改或更改这些变量。
3- 我需要检查一些变量并返回取决于变量值的不同代码。
4-我不想触摸模板文件。希望其代码相同。我不想从模板执行插件功能。
我希望插件在输出之前检查 smarty 模板,如果模板名为“products.tpl”并且在某个路径中,插件会检查发送到该模板的变量并修改模板代码并将该代码返回到输出。
它可能看起来像模板覆盖或 Prefilters 插件。但我不知道这是否可能以及如何开始。
代码示例:
smarty 模板文件 products.tpl:
<td valign="top" class="textright" nowrap>
{if $product.bid}
{if $product.displayprice}<span class="pricing">{$product.displayprice}</span><br />{/if}
</td>
我想更改产品价格变量而不使用插件触摸此模板代码。可能吗?