Pet*_*ter 7 javascript php jquery cakephp
cakephp文档说:
默认情况下,脚本标记以内联方式添加到文档中.如果通过将$ options ['inline']设置为false来覆盖它,则会将脚本标记添加到脚本块中,您可以在该脚本块中打印文档中的其他位置.
所以在我的视图文件(.ctp)中我有:
echo $this->Html->script('//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js', array('inline' => 'false'));
在我的布局中,在head标签中:
echo $this->fetch('script');
但脚本标签打印出内联而不是打印头.如果我错过了视图文件中该行的回显,则该脚本在我的html中根本不会打印出来.
我们将非常感激地提供任何帮助.
PAE
ub3*_*t4r 11
你有false引号,所以PHP将它视为一个string而不是一个boolean.它应该是:
echo $this->Html->script('//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js', array('inline' => false));
Run Code Online (Sandbox Code Playgroud)
我想扩展并提及一些事情.
内联脚本
这将打印出内联的脚本标记,这并不总是需要的.
<?php echo $this->Html->script('script.name'); ?>
Run Code Online (Sandbox Code Playgroud)
非内联脚本
这将把脚本放在你在布局文件中放置$ this-> fetch('script')的位置,通常是在页面的头部.(正如ub3rst4r指出的那样,你将false作为字符串传递)
<?php echo $this->Html->script('script.name', array('inline' => false)); ?>
Run Code Online (Sandbox Code Playgroud)
阻止脚本
对于许多人来说,这可能是一个更有用的版本,你可以在任何布局文件中放置一个脚本块(实际上你想要多少).我将向您展示一个示例,并将其称为scriptBottom,直到我的身体结束.
<?php echo $this->fetch('scriptBottom'); ?>
Run Code Online (Sandbox Code Playgroud)
然后你可以将块传递给脚本方法
<?php $this->Html->script('script.name', array('block' => 'scriptBottom')); ?>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助