2010-08-11 87 views
1

我需要使用一些相当复杂的Jquery插件,它们不仅仅是一个.js文件,而是需要包含css,图像等的整个文件夹。我不理解如何使用cakephp来包含这个,我想我可以从一个传统的HTML的方式布局做到这一点,但它会更好,只是做了CakePHP的方式,jQuery插件告诉我要做到这一点,包括文件夹:CakePHP,包括整个jQuery插件文件夹(与CSS等)?

<link id="bespin_base" href="/path/to"/> 

但我不不知道如何在cakephp中做到这一点..它会是我的服务器端路径,如“/ var/www/jquery/plugin ..等”?感谢您的信息..

我通常包括jQuery插件的方式就是这样的,和CSS类似,但我不希望有手动包括每个文件:

echo $html->script('plugin', false); 

回答

0

我倾向于这样做,因为我更喜欢维护Cake结构,请将任何.js文件放置在app/webroot/js/中,并将相关资产置于其相应的Cake目录中(例如,app/webroot/cssapp/webroot/img)。通常,这意味着修改插件的CSS,以使任何url()声明指向/img/...而不是默认情况下通常具有的相对路径。

如果你不介意被“非典型”并想简单地保留它,那么就把所有东西都放到app/webroot/js/jquery/plugin-name/(或者你自己创建的类似东西)中。这将在一个目录中混合使用js,css和图像,但是本身没有错误。然后,用你的HTML帮助,你参考:如果你想在你的根目录路径创建一个文件夹

echo $html->script('jquery/plugin-name/plugin-file.js', false); 

(精确的语法可能略有不同)

+0

感谢,我会尝试, – Rick 2010-08-12 00:35:47

0

,并获得出来的东西是你需要做的是放在你的路径前面。

如果你在你的路径前放一个/,它使它相对于webroot文件夹,否则它会使它相对于你的JS文件夹。

$this->Html->script('/thirdparty/jquery/file'); // Is equal to URL/webroot/thirdparty/jquery/file.js 

$this->Html->script('jquery/file'); // Is equal to URL/webroot/js/jquery/file.js 
+0

欢迎堆栈溢出。请注意,代码通常最好用4个空格缩进,因此看起来像现在这样。您可以在编辑框中输入或粘贴代码(无选项卡),然后选择它并使用编辑框上方的** {} **按钮将其全部缩进4个空格。 – 2014-03-09 07:46:58