Мне трудно сохранить свой шаблон в базе данных и загрузить содержимое для просмотра с помощью Smarty.
Я следовал руководству на Smarty.net о том, как сделать пользовательский тип извлечения.
Мой оригинальный метод состоял в том, чтобы сохранить разметку tpl в БД, затем загрузить ее и передать как переменную в назначенную переменную smarty, и в моем text.pl сделать что-то вроде {$ source}
, норазбирает его как строку и smarty не скомпилирует его.
учебник на сайте smarty не помог и просто оставляет мне больше вопросов ...
это то, что я пытался на основена уроке
function db_get_template($tpl_name, &$tpl_source, &$s)
{
$tpl_name = "index.tpl";
$tpl_source = nl2br($defaults->get_default_theme('theme_data'));
return true;
}
function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
{
$tpl_timestamp = (int)time();
//$tpl_timestamp = (int)$defaults->get_default_theme('modified_on');
return true;
}
function db_get_secure($tpl_name, &$smarty)
{
// assume all templates are secure
return true;
}
function db_get_trusted($tpl_name, &$smarty)
{
// not used for templates
}
$s->registerResource("db", array(
"db_get_template",
"db_get_secure",
"db_get_trusted"
));
$s->display("db:index.tpl");
Я не уверен, откуда взято db: index.tpl.Я не знаю, где должна быть загружена разметка в ...