Выражение PHPEngine php str_replace не работает
У меня есть шаблон с поддержкой php на выходе. Однако я не могу заставить str_replace работать. Смотрите ниже код. Если я просто поставил {title} без какого-либо php, то это работает. Но когда я включаю php и помещаю {title} в функцию str_replace, у меня ничего не отображается. Я пробовал php с простым эхо 'test'; и это сработало. Это просто не парсинг {title} или других тегов полей.
{exp:channel:entries channel="one" url_title="{segment_2}"}
<?php
echo str_replace('old', 'new', '{title}');
?>
{/exp:channel:entries}
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 и значением " Вывод".
Вы можете попробовать встроить шаблон с вашим PHP и отправить переменную таким образом. Синтаксический анализ ввода / вывода иногда не имеет значения для некоторых элементов.