Назначение переменных в .tpl для назначения во включенном файле

#php #smarty

#php #умный

Вопрос:

Я новичок в работе с шаблонами PHP smarty. Я настроил свой исходный файл на .php, но мне нужно преобразовать его в .tpl, чтобы коллега мог его редактировать.

Это был мой оригинальный оператор include, где я мог вручную установить переменную для каждой страницы:

 <?php 
    $meta_desc = "<meta name='description' content='This is my page meta description.'>";
    include "includes/document_head.php"; 
?>
  

Это мой новый код, но переменная установлена неправильно:

 {assign "meta_desc" "<meta name='description' content='This is my page meta description.'>"}
{% include file="includes/document_head.php" %}
  

Чего мне не хватает?

Комментарии:

1. Каково содержимое document_head.php ? Я рекомендую не включать php-файл в шаблон smarty. В любом случае, для smarty 2.x вы можете взглянуть на include_php smarty.net/docsv2/de/language . function.include.php.tpl

Ответ №1:

Ваш код неверен. Это должно быть так:

 {assign var='meta_desc' value="<meta name='description' content='This is my page meta description.'>"}
{include file="includes/document_head.php"}
  

Комментарии:

1. Все это взрывается, когда я не включаю% в оператор include.

2. Обновление: только что обнаружил, что в моей организации (до того, как я присоединился) было принято решение о том, что наши теги smarty должны быть обернуты с помощью {% %} — так что ваш код верен!

3. @pork-chop ohk отличная работа с вашей стороны.