2013-02-16 6 views
0

Я попытался сделать функцию, которую я могу запустить в .tpl-файлах.Smarty - Как сделать функции?

Я включил класс Templates:

<?php 

class Templates { 
    function getTemplate($template, $gameid) { 
     echo "test"; 
    } 
} 

?> 

Затем я положил это в страницу PHP.

//Create a template object 
$templates = new Templates(); 
$tpl->assign("template", $templates); 

И тогда я пытаюсь вызвать функцию в tpl file:

{$template->get('header',1)}

Но я просто получаю пустую страницу, когда я пытаюсь это.

Любые идеи, как на самом деле это сделать?

+0

Не уверен, что это только опечатка, введенная при загрузке вашего вопроса, но ваша функция PHP называется 'getTemplate', тогда как ваш код Smarty вызывает несуществующую функцию, называемую' get'. – IMSoP

ответ

0

Возможно, вам стоит посмотреть documentation on Smarty Plugins. Это позволяет вам регистрировать свои собственные функции, которые можно использовать так же, как встроенные теги и модификаторы, или даже настраиваемые источники данных шаблона для использования с функцией {include}.

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