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

Yii2-Smarty: Cannot Access Methods of $this-object

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

我用 smarty extension 设置了 Yii2。

现在我正在尝试将 layouts/main.php 文件简单地转换为 smarty 模板。为此,我需要访问当前的 yii\web\View 对象,该对象从扩展名 $this-smarty-variable.

中给出

我通过 var_dump()-ing 和比较两者验证了 smarty $this 变量与视图对象相同。

问题

根据 smarty3 文档,我应该能够从这样的 smarty 模板中调用 $this-对象上的方法:{var_dump($this->head())}.

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

问题

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

  1. 定义用于 smarty 的变量:$template->assign('app', \Yii::$app);
  2. 调用 smarty 模板中变量的方法:{$app->getSession();}

我做错了什么?

(我目前的聪明布局:pastebin

Applying the above script in a template just always returns NULL which let me guess that no method call had happen.

head() 方法没有 return 任何东西,所以如果您看到 null,那是正确的。

您可以这样调用方法:

{$this->head()}