0

我正在研究 Cakephp 2.x .. 现在我正在加载我的 js 和 css 文件,就像这样

查看/布局/default.ctp

<?php echo $this->fetch('css'); ?>
<?php echo $this->fetch('script'); ?>
<?php echo $this->fetch('scriptBottom');?>

在每个视图文件中我这样做是因为有一些页面我正在加载不同的 css 和 js 文件

例如 查看/用户/index.ctp

 echo $this->Html->script('libs/modernizr.custom',array('inline' => false));
  $this->Html->css('reset3860.css', null, array('inline' => false));
  echo $this->Html->script('libs/jquery-1.8.2.min', array('block' => 'scriptBottom'));

现在我现在面临的第一个问题是当我必须在视图页面的底部编写js时,例如,如果我通过 ajax 提交表单..我不能在索引页面的底部写......因为如果我写在那里,js 将在页面的中间或中心,所以现在我要做的是我去 default.ctp 并在那里写..所以我想写在索引页面的底部,这样它就可以轻松管理我可以清楚地看到我在做什么

第二个问题是管理所有这些的最佳方法是什么......或者有一种方法可以制作一个cs和js文件......其中只有cssjs文件被加载......然后我将该文件包含在我的默认值中。ctp页面

4

2 回答 2

3

您应该将scriptBottom块放在布局的底部,在content块之后:

<body>
    <?php
    echo $this->fetch('script');
    echo $this->fetch('content');
    echo $this->fetch('scriptBottom');
    ?>
</body>

然后在您看来(注意 - 否echo):

$this->Html->script(
    'libs/jquery-1.8.2.min', 
    array('block' => 'scriptBottom')
);
$this->Html->scriptBlock(
    "alert('Boom!');",
    array('block' => 'scriptBottom')
);
于 2014-05-07T14:33:58.837 回答
0

这是一个很好的概念,而且我已经在我的一个应用程序中应用了,它运行得很好

它与 CakePHP 2.1 兼容,并将其打包为插件。并且还将 CSS 压缩从 CSSTidy 升级到更新和更好维护的 CSS Min。

该插件快速且易于安装。安装说明有点长 - 但这只是为了清楚起见。

有关详细视图,您可以参考详细链接Cakephp.org ,您还可以查看插件文档以及如何在您的应用程序中使用它

于 2013-07-08T16:36:03.410 回答