CakePHP:首先加载视图中附加到块的内容
我使用视图块来允许各个视图添加特定于这些视图的脚本和样式表。默认情况下,到处使用的资源都包含在布局中。给你 一切都按照描述进行,但是在我的视图中附加的内容被添加到默认块内容之前,即使我使用$this->append'block name'。经过一番激化,我推断视图实际上是在布局之前首先被引用的。因此,我在视图中加载的脚本没有附加任何内容。之后,布局的脚本被追加 通过在块外删除全局脚本,我能够解决这个问题。但我不喜欢这种方法,有几个原因。将来,我可能希望我的视图能够覆盖某些内容。而且,这似乎是错误的,与视图块的用途背道而驰 我的问题是: 1.我描述的行为是否是预期的行为?CakePHP:首先加载视图中附加到块的内容,php,cakephp,Php,Cakephp,我使用视图块来允许各个视图添加特定于这些视图的脚本和样式表。默认情况下,到处使用的资源都包含在布局中。给你 一切都按照描述进行,但是在我的视图中附加的内容被添加到默认块内容之前,即使我使用$this->append'block name'。经过一番激化,我推断视图实际上是在布局之前首先被引用的。因此,我在视图中加载的脚本没有附加任何内容。之后,布局的脚本被追加 通过在块外删除全局脚本,我能够解决这个问题。但我不喜欢这种方法,有几个原因。将来,我可能希望我的视图能够覆盖某些内容。而且,这似乎是错误
2.是否有更好的方法来管理从视图附加的脚本的脚本依赖性 我认为块不应该在布局中定义,这不是它想要的方式,它应该在视图或元素中定义,由其他视图或元素附加,然后由布局或视图获取。但文档明确指出,它的主要用途之一是如果用于包含脚本和其他资源。。。而这些几乎总是属于布局,对吗?这一点得到了以下事实的支持:默认的.ctp布局是以这种方式设置的。布局是在查看之后呈现的,因此您不能在布局中定义块,如果您只想附加一些js或css文件,为什么不试试$This->Html->script'carousel',array'inline'=>false;,如前所述?如果这样做,视图的脚本不会在布局中定义的全局样式之前添加吗?这不是在用cakePHP内置的magic->script块重现我已经遇到的问题吗?为了让您的建议发挥作用,我必须在每个视图中一次又一次地添加所有脚本。正当