我有一个名为script.php的文件,这是一些php和一些混合在一起的javascript。这个文件的mime类型被强制为javascript,所以这是一个普通的javascript文件,但扩展名为php。
我试着通过脚本功能在我的布局中插入它。如果写:
echo $this->Html->script('rsravenna/script.php');
cakephp会尝试插入script.php.js,如何避免附加.js?
答案 0 :(得分:1)
在hardcoded函数中,.js
的追加是HtmlHelper->script()。您的应用中是否有任何内容可以阻止您手动包含脚本?
<script type="text/javascript" src="myscript.php"></script>
否则,您可以扩展HtmlHelper以将变量ext
作为options
数组的一部分传递给HtmlHelper->assetUrl
。
您也可以反过来这样做,告诉您的服务器将特定文件夹中的.js文件解析为php以保留扩展名。如果您使用的是apache,请将其放在.htaccess
:
AddType application/x-httpd-php .js
现在你应该可以将你的myscript.php重命名为myscript.js并仍然可以解析它。这将使您能够使用标准script()
- 函数。
答案 1 :(得分:0)
我真的不清楚你要做什么。 script是一个HTML Helper,用于包含javascript而不是PHP。
您可以执行以下操作:
echo $this->Html->url('/rsravenna/script.php', true);
或
echo $this->Html->url(array(
"controller" => "foo",
"action" => "bar",
"ext" => "php"
));
为什么要将MIME类型强制为.js?