smarty, включи файл tpl - PullRequest
       7

smarty, включи файл tpl

5 голосов
/ 27 ноября 2010

как включить файл с smarty?я использую эту функцию: {include file = "modules / news.tpl"}

но показываю ошибку:

Предупреждение: ошибка Smarty: невозможно прочитать ресурс: "modules / news.tpl"

Файл существует и находится в каталоге modules / news.tpl.

Спасибо

Ответы [ 4 ]

8 голосов
/ 27 декабря 2011

Изменение

{include file="modules/news.tpl"}

до

{include file="./modules/news.tpl"}

Это как минимум определит текущее местоположение, в котором вы находитесь.

5 голосов
/ 27 ноября 2010

Хотя я не уверен на 100%, я считаю, что Smarty разрешает ваши включения, просматривая переменную template_dir config.

См. Документ: http://www.smarty.net/docs/en/variable.template.dir.tpl и http://www.smarty.net/docs/en/language.function.include.tpl.

2 голосов
/ 22 июня 2011

К сожалению, Smarty требует абсолютных путей. Обычно мы устанавливаем переменную $ docroot enviroiment в PHP и разбираем ее по шаблонам, чтобы мы могли ее использовать:

{include file = "$ docroot / modules / news.tpl"}

Я понимаю, что это один повторный запрос к smarty, чтобы иметь возможность включать шаблоны в тот же путь, что и текущий.

0 голосов
/ 29 ноября 2010

Вы должны включить этот файл в файлы php (action), и тогда он будет работать и в tpl.

Спасибо.

...