Yii2-Smarty:无法访问$ this-object

时间:2015-07-08 22:08:52

标签: methods yii2 smarty3

Yii2-Smarty:无法访问对象方法

我用smarty extension设置了Yii2。

现在我想简单地将layouts/main.php文件转换为智能模板。为此,我需要访问当前yii\web\View对象,该对象由扩展名$this-smarty-variable提供。

我已经通过$this验证了这个聪明的var_dump()变量与view-object相同,并且比较了两者。

问题

根据smarty3文档,我应该可以从$this - 智能模板中调用{var_dump($this->head())} - 对象上的方法:NULL

在模板中应用上述脚本总是返回$template->assign('app', \Yii::$app);,让我猜测没有发生任何方法调用。

问题

如何从PHP中调用smarty的对象调用方法?

  1. 定义变量以便在smarty中使用:{$app->getSession();}
  2. 在智能模板中调用变量方法:$("div").each(function (index, currentDiv) { $(currentDiv).on("click", (function () { var clicksRemaining = 3; return function () { if (!clicksRemaining) { alert("You cannot click this square anymore."); return; } clicksRemaining -= 1; $(this).addClass("clicked"); $(this).append("0"); $("span").append("0"); } })()); });
  3. 我做错了什么?

    (我目前的聪明布局:pastebin

1 个答案:

答案 0 :(得分:1)

  

在模板中应用上述脚本总是返回NULL,这让我猜测没有发生任何方法调用。

head()方法不会返回任何内容,如果您看到null是正确的。

你可以这样调用这个方法:

{$this->head()}