【发布时间】:2009-12-30 13:52:38
【问题描述】:
我最近发现 CakePhp 是一个出色的框架,目前正在将我的网站移植到 cake 上。在使用 JQuery 方面,目前推荐的包含 javascript / 访问 javascript 文件的方法是什么。稍微挖掘一下,有些人建议在 app/config 中放置一个中心位置……你们怎么看?
谢谢。
【问题讨论】:
我最近发现 CakePhp 是一个出色的框架,目前正在将我的网站移植到 cake 上。在使用 JQuery 方面,目前推荐的包含 javascript / 访问 javascript 文件的方法是什么。稍微挖掘一下,有些人建议在 app/config 中放置一个中心位置……你们怎么看?
谢谢。
【问题讨论】:
将包括 jquery 在内的 javascript 文件添加到 /app/webroot/js/。
然后在您的布局 (/app/views/layouts/default.ctp) 上,只需使用 javascript 助手加载您的 javascript 文件。
<head>
<title><?php echo $title_for_layout; ?></title>
<?php echo $javascript->link('jquery'); ?>
...
</head>
确保在您的应用中加载了 javascript 帮助程序。在您的 app_controller.php 或个人控制器上。
var $helpers = array('Html', 'Form', 'Javascript');
【讨论】:
添加 jQuery 的一种方法是按照 jpdelatorre 的建议将其添加到布局中。除了代替
$javascript->link('jquery');
使用
$this->Html->script('jquery');
所以现在编辑的 jpdelatorre 应该是这样的(在布局中,例如 app/View/Layouts/default.ctp):
<head>
<title><?php echo $title_for_layout; ?></title>
<?php echo $this->Html->script('jquery'); ?>
...
</head>
这也意味着您不要在控制器中包含 javascript 帮助程序。所以助手看起来像:
var $helpers = array('Html', 'Form');
这里是 cakePHP tutorial 的链接,了解如何包含 jQuery。
【讨论】:
如果您希望 jquery 包含在您的所有页面中,我只需在您的应用程序使用的布局部分中添加一行内容即可。您可以使用 javascript 帮助程序,或者仅使用标准 HTML 将其包含在标签中。
【讨论】:
在我的情况下,我必须继续指定 JQuery 文件的版本,如下所示:
echo $this->Html->script('jquery-1.8.3');
否则它就无法工作!
【讨论】:
To link javascript in CakePHP 3.x使用
echo $this->Html->script('scripts');
上面的代码会产生
<script src="/js/scripts.js"></script>
【讨论】: