如何在元素中将javascript链接到$ scripts_for_layout

时间:2009-12-05 02:40:11

标签: php cakephp

我目前正在开发一个应用程序,该应用程序将在每个用户仪表板上实现用户可自定义的小部件。用户可以随意添加和删除小部件。每个小部件都包含在其自己的元素中,有些小部件具有需要单独加载的JavaScript文件。

我遇到的当前问题是,如果我尝试使用元素中的以下代码将JavaScript链接到$ scripts_for_layout,则不会发生任何事情。

<?php $javascript->link('widgets/blog',false); ?>

如果在cakephp bug跟踪器中找到一个ticket来解释原因并且评论者甚至提出了一个可以解决这个问题的解决方法:

<?php echo join("\n\t", $this->__scripts); ?>

我尝试过使用它,但它似乎不起作用。有没有人知道这个问题的任何其他解决方法,甚至有关于如何做得更好的建议?

4 个答案:

答案 0 :(得分:0)

我不太清楚为什么$javascript->link(…, false)不能在Element中工作,但你可以试试这个:

$this->addScript($javascript->link('path/to/script'));

在视图中工作。在布局中,如您要链接的错误中所述,这将无效,因为标题脚本将在元素呈现时输出。

答案 1 :(得分:0)

我不认为您可以在布局文件中包含该元素时使用元素中的$ javascript-&gt;链接。如果我错了,有人会纠正我。

答案 2 :(得分:0)

这应该做的工作:

<?php echo $javascript->link('widgets/blog',false); ?>

也许你只是忘了回声?

答案 3 :(得分:0)

经过研究后发现,由于cakephp的构建方式,目前无法做到这一点。