在Magento的layout文件中只能添加/js目录和/skin目录下的js文件,而不能添加外部的js文件,比如 http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js ,为了能在layout文件中添加外部的js文件,可以修改/app/code/core/Mage/Page/Block/Html/Head.php 中的_prepareStaticAndSkinElements函数,将以下代码:
-
// get static files from the js folder, no need in lookups
-
foreach ($staticItems as $params => $rows) {
-
foreach ($rows as $name) {
-
$items[$params][] = $mergeCallback ? Mage::getBaseDir() . DS . 'js' . DS . $name : $baseJsUrl . $name;
-
}
- }
改为:
-
// get static files from the js folder, no need in lookups
-
foreach ($staticItems as $params => $rows) {
-
foreach ($rows as $name) {
-
if (strstr($name, 'http://') || strstr($name, 'https://'))
-
{
-
$items[$params][] = $name;
-
}
-
else
-
{
-
$items[$params][] = $mergeCallback ? Mage::getBaseDir() . DS . 'js' . DS . $name : $baseJsUrl . $name;
-
}
-
}
- }
这样我们就可以在layout文件中添加外部js了:
- <action method="addJs"><script>http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js</script></action>
本文详细介绍了如何通过修改Magento布局文件中的代码来实现添加外部JS文件的功能,具体步骤包括修改关键函数并调整代码逻辑,使得开发者能够在布局文件中引入外部资源,如jQuery等。

267

被折叠的 条评论
为什么被折叠?



