如何在聪明中包括帮助者?

时间:2010-12-01 20:46:19

标签: php kohana smarty helpers

我想在智能模板中使用辅助工具中的静态函数。我使用ko3和kohana-module-smarty - https://github.com/MrAnchovy/kohana-module-smarty/所以我的问题是如何自动加载帮助并在模板中使用它,即:

应用程序/类/ url.php


class url {
    功能测试(){
       返回'测试';
   }
}


视图/ index.tpl里


{$ url.test}

1 个答案:

答案 0 :(得分:0)

您应该能够将Url作为变量$url传递,并使用{$url->test()}在您的视图中访问它。我不确定你是否能够访问Url::test()之类的静态函数。

如果您在相同的视图中使用帮助器,则可以创建一个新的控制器来绑定视图中的变量:

<?php
// application/classes/controller/site.php
class Controller_Site extends Controller_Template
{
    public $template = 'smarty:my_template';

    public function before()
    {
        $this->template->set_global('url_helper', new Url);
    }
}
?>

然后在其他控制器中扩展它:

<?php
// application/classes/controller/welcome.php
class Controller_Welcome extends Controller_Site
{
    public function action_index()
    {
        $this->template->content = 'Yada, yada, yada...';
    }
}

并在您的观看中访问它:

{* application/views/my_template.tpl *}
<p>This is a {$url_helper->test()}.</p>
<p>{$content}</p>