magento将一个查询字符串参数附加到CSS和JS

zhi*_*eng 6 css xml magento query-string

如何在每个CSS中添加一个查询字符串参数,并在HTML中包含JavaScript以清除CSS和JavaScript缓存.我试过了

<action method="addCss"><stylesheet>css/style.css?123</stylesheet></action>

<action method="addItem"><type>skin_css</type><name>css/styles.css?123</name><params/></action>

.但每次它返回一个基本包就像

http://www.example.com/skin/frontend/base/default/styles.css?123

不是我的自定义主题目录.

怎么解决这个?

ami*_*bot 1

当您通过 xml 布局更新添加 css 文件时,addCss操作(实际上只是调用addItem类型设置为 的操作skin_css)正在查找文件路径,而不是 url。虽然查询字符串在 URL 中有效,但在文件名中无效。Magento 认为这是一个无效参数,会感到困惑并回退到base/default.

我可以为此想到两种解决方案。不幸的是,两者都有点hackey。

  1. 将 css 文件移至基本默认主题。这是可行的,但它取决于后备,而在其他版本的 magento 中可能不会保持不变。

  2. 不要直接插入css文件,而是使用html代码创建一个phtml模板文件来插入css文件。core/template然后在布局 xml 中插入一个以该新模板文件作为模板的块。我在我开发的网站上使用了这种方法来解决这个问题。