Php 重载$this->;布局()->;在视图文件中
我试图修改ZF2中需要在布局中使用的选项数组。在这种特殊情况下,它是一个文件名 当我像字符串那样做时,我没有问题Php 重载$this->;布局()->;在视图文件中,php,zend-framework2,Php,Zend Framework2,我试图修改ZF2中需要在布局中使用的选项数组。在这种特殊情况下,它是一个文件名 当我像字符串那样做时,我没有问题 <?php $this->layout()->javaScripts = "assets/js/js-file.js"; ?> 正确的方法是什么?或者,如果没有办法做到这一点,为什么我不应该呢 我尝试RTM,但运气不佳。请查看 javaScripts不是公共属性——它是通过“魔术”方法实现的 或者试试这个 <?php $this->layout
<?php $this->layout()->javaScripts = "assets/js/js-file.js"; ?>
正确的方法是什么?或者,如果没有办法做到这一点,为什么我不应该呢
我尝试RTM,但运气不佳。请查看
javaScripts不是公共属性——它是通过“魔术”方法实现的
或者试试这个
<?php
$this->layout()->javaScripts = array();
$this->layout()->javaScripts[] = "assets/js/js-file.js";
如果是$zebraScripts,我需要做同样的事情吗?你知道这在源代码中是如何实现的吗@Vasil Vancuck当然可以,但它不允许我在控制器级别设置一个选项数组,在视图级别修改它,这就是我试图修改它的地方,我的意思是添加到我的选项为什么?您只需要在向数组添加元素之前分配数组-first write=array(),并且只在后期将元素推送到数组中-我是关于HeadScriptHelper的第一个代码+1变体的。您还可以查看,因为将脚本放在html末尾是一种很好的做法
Notice: Indirect modification of overloaded property Zend\View\Model\ViewModel::$javaScripts has no effect in
<?php
$this->layout()->javaScripts = array();
$this->layout()->javaScripts[] = "assets/js/js-file.js";
<?php
$this->layout()->javaScripts = array("assets/js/js-file.js");