【问题标题】:CakePHP, including entire jquery plugin folder (with css, etc)?CakePHP,包括整个 jquery 插件文件夹(带有 css 等)?
【发布时间】:2010-08-11 20:27:47
【问题描述】:

我需要使用一些相当复杂的 Jquery 插件,它们不仅仅是一个 .js 文件,而是需要一个包含 css、图像等的整个文件夹。我不明白如何使用 cakephp 包含它,我假设我可以以传统的 HTML 方式从布局中执行此操作,但使用 Cakephp 方式会更好,jquery 插件告诉我这样做以包含文件夹:

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

但我不太明白如何在 cakephp 中执行此操作。它会是我的服务器端路径,例如“/var/www/jquery/plugin.. etc”吗?感谢您提供任何信息..

我通常包含 jquery 插件的方式就是这样,css 也类似,但我不想手动包含每个文件:

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

【问题讨论】:

    标签: jquery plugins cakephp include


    【解决方案1】:

    我倾向于做的,因为我更喜欢维护 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 );
    

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

    【讨论】:

      【解决方案2】:

      如果你想在你的 webroot 路径中创建一个文件夹,并从中访问东西,你需要做的就是在你的路径前面放一个 /。

      如果你在你的路径前面放一个/,它会使其相对于 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
      

      【讨论】:

      • 欢迎来到 Stack Overflow。请注意,代码通常最好缩进 4 个空格,所以看起来就像现在一样。您可以将代码键入或粘贴到编辑框中(无标签),然后选择它并使用编辑框上方的 {} 按钮将其全部缩进 4 个空格。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多