Я делаю новый сайт для своей компании и хочу использовать для этого smarty (v3.1.29). Теперь проблема в том, что мы хранить код для всех страниц в нашей базе данных (дома, продукты, загрузки, …). Некоторые страницы содержат встроенные функции PHP, такие как:
<?php include("functions.php"); ?>
<p> Hello <?php echo printWorldInColor(); ?> </p>
В моем файле шаблона (.tpl) у меня есть раздел для загрузки содержимого из нашей базы данных:
<html>
<body>
<div id="content">
{$content}
</div>
</body>
</html>
Итак, мой код выглядит следующим образом:
<html>
<body>
<div id="content">
<?php include("functions.php"); ?>
<p> Hello <?php echo printWorldInColor(); ?> </p>
</div>
</body>
</html>
Есть ли способ, которым smarty обрабатывает PHP-код перед его разбором?
Подсказка: я не хочу редактировать мой файл шаблона. Я просто хочу проанализировать содержимое базы данных в моем разделе контента на сайте.
Что я попробовал:
Вы не можете сделать это в Smarty. Также запуск php-кода, хранящегося в базе данных, звучит как ужасная идея. Но если по какой-то причине вам придется продолжать эту ерунду (и учитывая, что вы не можете использовать eval), вы можете попробовать это:
Но на вашем месте я бы попытался сделать проект по-другому.
Других решений пока нет …