Периодически приходится сталкиваться с задачами, когда нужно вывести какой-то текст, но в нем должна быть и динамически генерируемая информация, напр.: текущая дата, название какого-либо раздела, строчка из прайс-листа. Обычно ради таких небольших изменений нужно было создавать макет или отдельный компонент. Данный компонент позволяет писать обычный текст, но при этом вставлять в него динамические элементы (PHP-код, переменные) в удобном и валидном виде.
Использование:
- добавляете компонент в нужный раздел
- пишите текст как для обычного компонента "Простой текст", можно писать в визуальном редакторе
- в нужное место вставляете HTML-комментарий, следующего вида (надеюсь Netcat не съест пример кода, иначе смотрите в самом компоненте в поле описание):
Код:<!--#php#code#phpinfo();#-->
Этот код выполнит произвольный PHP код внутри комментария.
Код:<!--#php#var#date('Y')#-->
или
Код:<!--#php#var#$current_sub['Subdivision_Name']#-->
Этот код, в отличие от предыдущего, выведет значение переменной или результат выполнения функции непосредственно в том месте, куда он вставлен.
Ограничения по безопасности:
Следует помнить, что этот компонент - это прямой доступ к PHP на вашем сайте, а это значит, что любой, имеющий права на редактирование объектов в этом компоненте, может выполнить произвольный код на сайте. Рекомендуется устанавливать права на редактирование объектов в разделах с этими компонентами только для администратора.
Update:
В связи с добавлением в версии 4.5 новых системных полей, связанных с SEO, данный компонент был обновлен для корректной работы с новыми возможностями версии 4.5. Также внесены незначительные эволюционные изменения.
Donate:
Если вам понравилось данное решение, то вы можете пожертвовать на развитие других свободных проектов.
Яндекс.Деньги: 4100138750050
WMR: R624305909610
WMZ: Z687013760005
WME: E340564790454
Copyright:
Компонент
Netcat_MacroHTML_class.tpl является составной частью модуля
dotCat. Разрешено распространение данного компонента отдельно от модуля по лицензии
MIT. Предоставляется ограниченная техническая поддержка на странице компонента на сайте Netcat.ru
Модуль
dotCat является коммерческим продуктом. Все права на модуль принадлежат компании
3dot0 Internet Solutions. Право на свободное использование данного компонента не дает прав на использование модуля.
Скачать с сайта разработчика
Комментарии 2