我在输出上启用了php的模板。但是我无法让str_replace工作。见下面的代码。如果我只是把{title}没有任何PHP,那么它的工作原理。但是当我包含php并将{title}放在str_replace函数中时,我什么都没显示。我用简单的echo'test'尝试了php;它起作用了。它只是不解析{title}或其他字段标签。
{exp:channel:entries channel="one" url_title="{segment_2}"}
<?php
echo str_replace('old', 'new', '{title}');
?>
{/exp:channel:entries}
答案 0 :(得分:2)
这可能听起来很荒谬,但您是否尝试从url_title
标记中删除{exp:channel:entries}
参数,以确保其余代码和逻辑正常运行?
以下代码应输出“旧测试”的条目标题(不带引号):
{exp:channel:entries channel="channel_name" entry_id="xx" dynamic="off"}
{title}
{/exp:channel:entries}
鉴于“旧测试”的相同条目标题,这应该输出:“新测试”(再次,没有引号):
{exp:channel:entries channel="channel_name" entry_id="xx" dynamic="off"}
<?php
echo str_replace('old', 'new', '{title}');
?>
{/exp:channel:entries}
已在启用PHP 的新空白模板中成功测试,并设置为输出。
答案 1 :(得分:0)
您可以尝试嵌入包含PHP的模板并以这种方式发送变量。输入/输出上的解析有时与某些元素无关。