CakePHP链接css文件和javascript文件

Don*_*Msc 6 cakephp

如何将css文件和javascript/jquery文件链接到控制器/视图?

我正在使用CakePHP_1.3并在线找到以下代码,但我似乎无法弄清楚将其放在何处,其次,在哪里放置名为css_file的css文件.

<?php $this->Html->css("css_file", null, array("inline"=>false)); ?>
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏的人......

Cha*_*rry 14

您可以将CSS文件放入:

app/
  webroot/
      css/ <-- here
Run Code Online (Sandbox Code Playgroud)

您可以在default.ctp布局中放置代码行.它位于(1.3):

cake/
  libs/
      view/
        layouts/
          default.ctp <-- copy this to app/views/layouts/
Run Code Online (Sandbox Code Playgroud)

然后打开它app/views/layouts/default.ctp看看HTML.您将看到Cake已经在使用此命令的位置.只需将文件名替换为您添加的文件即可.不要.css当您添加的代码行到最后.

  • @DJDonaL300当然可以,只需将文件放在`app/webroot/js /`中,然后调用`$ this-> Html-> script(...)```````s script src ="..."> </ script>`要显示的元素. (2认同)

Anh*_*ham 8

你在视图中使用echo $this->Html->css('css_file_name_without_the_extension');echo $this->Html->script('same')


Jos*_*eph 5

根据您的问题,听起来您正在询问如何逐个查看。

这是$scripts_for_layout有用的地方。

你只需要确保它在你的<head>代码中/app/views/layouts/default.ctp<?php echo $scripts_for_layout; ?>

然后,您可以在任何需要的地方,将您问题中包含的代码从字面上添加到您的任何视图中。因为有了'inline' => false它,它实际上不会出现在视图中的那个位置:

<?php $this->Html->css("css_file", null, array("inline"=>false)); ?>
Run Code Online (Sandbox Code Playgroud)

...并且您会发现,只要加载该特定视图,该css_file.css链接就会自动链接到您的网站中<head>。这是一种仅在需要时才按视图加载特定CSS文件的好方法,但要确保它们出现在<head>应有的标记中。

这也适用于JavaScript,如下所示:

<?php $this->Html->script("js_file", null, array("inline"=>false)); ?>
Run Code Online (Sandbox Code Playgroud)

如果你想有一个或所有视图中加载更多的CSS文件,只是把一个简化版本的代码中<head>default.ctp如下:

<?php echo $html->css(array('each','one','of','your','css','files'));
Run Code Online (Sandbox Code Playgroud)

还是,对于JavaScript:

<?php echo $html->script(array('each','one','of','your','js','files'));
Run Code Online (Sandbox Code Playgroud)

不要在数组中包含.css或.js扩展名。