#smarty
#smarty
Вопрос:
Я пытаюсь включить значение поля базы данных в инструкцию Smarty if file exists, подобную этой.
{if file_exists('docs/owner_comments/{$property.id}.shtml')}
{include file="{$incownercomments}/{$property.id}.shtml"}
{else}
....
{/if}
Однако это не работает. Проблема связана с первой строкой. Как я могу включить значение поля в часть {если файл существует …}?
Я ценю вашу помощь.
Ответ №1:
Вы должны изменить '
в первой строке на "
и, конечно, убедиться, что путь действителен
Я создал тестовый скрипт:
index.php:
$smarty->assign('property', array('id' => 2));
$smarty->display('testme.tpl');
testme.tpl
{$property.id}
{if file_exists("templates/testme{$property.id}.tpl")}
{include file="templates/testme{$property.id}.tpl"}
{else}
....
{/if}
testme2.tpl
testme2
Вывод
2 testme2
как и ожидалось. Если я изменю в index.php линия
$smarty->assign('property', array('id' => 2));
в
$smarty->assign('property', array('id' => 3));
и файл testme2.tpl не существует, я получаю вывод
3 ….
как и ожидалось