Magento - 动态加载CSS和JS
Magento - Load dynamically CSS and JS
我们希望为magento系统中的页面动态加载css和javascript文件。由于js和css文件的增长,我们希望将它们拆分为单独的文件并为当前页面加载它们。我们使用CMS高级内容管理器来管理我们的页面内容。因为我们在CMS中有类似内容类型的东西,所以我们想弄清楚当前页面具有哪种内容类型。引用我们认为通过类型名称加载 css 和 js 文件的类型(因为类型名是别名并且在系统中是唯一的(。因为我没有深入 magento 编码,我不知道我应该从哪里开始。
但也许还有另一种解决方案或已知的解决方案可以实现我们想要的。
您是否尝试过使用XML在特定内容页面上加载JS或CSS?
下面是加载CSS和JS文件的示例。
内容页 => 设计选项卡 => 自定义布局更新 XML。
<reference name="head">
<action method="addItem"><type>skin_css</type><name>css/your_css.css</name></action>
<action method="addItem"><type>skin_js</type><name>js/your_js.js</name></action>
</reference>
您可以创建一个扩展来观察"布局加载之前"事件。使用一些请求参数,您可以确定要包含一些 css 或 js 的页面。
例如:
app/code/local/Foo/Bar/etc/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Foo_Bar>
<version>0.1.0</version>
</Foo_Bar>
</modules>
<global>
<models>
<foo_bar>
<class>Foo_Bar_Model</class>
</foo_bar>
</models>
</global>
<frontend>
<events>
<controller_action_layout_load_before>
<observers>
<customer_is_logged_in_observer>
<class>foo_bar/observer</class>
<method>beforeLoadLayout</method>
</customer_is_logged_in_observer>
</observers>
</controller_action_layout_load_before>
</events>
</frontend>
</config>
app/code/local/Foo/Bar/Model/Observer.php
class Foo_Bar_Model_Observer
{
public function beforeLoadLayout($observer)
{
if(Mage::app()->getRequest()->getControllerName()=='page' &&
Mage::app()->getRequest()->getRouteName()='cms')
{
$head=$observer->getEvent()->getLayout()->getBlock('head');
$head->addItem('skin_js', 'js/foo.js');
$head->addItem('skin_css', 'css/foo.css');
}
}
}
只需查看模块文档,即可实现动态布局。因此,您可以为特定内容类型添加特定布局:
ACM for Magento 1.x: (页末( https://www.advancedcontentmanager.com/documentation/content/php-helper-methods-render-methods
ACM for Magento 2.x: https://www.advancedcontentmanager.com/documentation/m2/developers/dynamic-layout-handle
- JS CSS切换按钮没有'不要向上移动
- 我应该连接/缩小已经缩小的JS/CSS吗?如果是,如何
- JS/CSS:如何在向下滚动超过1200像素(高度)后更改z索引值
- JS/CSS旋转的DIVS在任何屏幕的中间相遇
- 在企业应用程序框架中包含js/css文件的最佳实践是什么
- Html+js+css的打包程序
- 如何使用jquery/js/css逐步突出显示一段文本
- 重叠的选项卡 JS CSS HTML.
- 如何从我的机器提供HTML + JS + CSS网络应用程序,以便其他人可以查看它
- MVC Razor,包括来自另一个项目的JS/CSS文件
- 最轻的js/css,用于向用户提供SPA正在加载/初始化的视觉反馈
- 我们怎么知道消除HTML/JS/CSS文件中的空白可以缩短页面加载时间呢
- 有条件的包含js/css文件的IE与流星
- node.js可以选择性地引入到用普通PHP/js/CSS/HTML构建的web应用程序中吗
- 无法使用我的代码(html/js/css)初始化网络摄像头
- 当使用HTTP/2时,缩小和连接JS/CSS文件,以及使用精灵进行图像处理仍然可以提供性能优势
- JS CSS线夹重置(TextOverflowClamp.JS)
- JS CSS时钟在IE中不工作
- 有没有一个Wordpress插件可以让我展示HTML/JS/CSS的例子
- 使用Meteor为每个模板动态加载JS/CSS