无法在 Magento CE 1.9 中编译 rwd 皮肤 SCSS

Posted

技术标签:

【中文标题】无法在 Magento CE 1.9 中编译 rwd 皮肤 SCSS【英文标题】:Can't compile rwd skin SCSS in Magento CE 1.9 【发布时间】:2014-10-26 21:44:14 【问题描述】:

我正在尝试基于 CE 1.9 / EE 1.14 中提供的 rwd 皮肤创建一个 Magento 皮肤。但是,当我尝试编译 SCSS(在全新安装中,删除 /skin/frontend/rwd/default/css 中的文件后)时,出现以下错误:

$ compass compile scss
    write css/madisonisland-ie8.css
    write css/madisonisland.css
    write css/scaffold-forms.css
    error scss/styles-ie8.scss (Line 541 of scss/core/_common.scss: Invalid CSS after "a:not(": expected ")", was "".button")")
Sass::SyntaxError on line ["541"] of /var/www/development/magento-mirror/skin/frontend/rwd/default/scss/core/_common.scss: Invalid CSS after "a:not(": expected ")", was "".button")"
Run with --trace to see the full backtrace

scss/core/_common.scss 中的第 541 行是:

a:not(".button") 

如果我从 .button 中删除周围的引号 - 它编译成功。但是,由于这是 Magento 的全新安装,我是否真的需要编辑文件才能编译它们?指南针中是否有我错过的配置设置等?

谢谢

【问题讨论】:

问题出在您编写的代码或其他人编写的代码中? 这是来自 Magento 项目的未经修改的核心代码,所以是的 - 由其他人编写。但我会假设全新安装会编译。我在网上找不到其他关于它的信息,所以我猜它与配置有关? 您认为全新安装可以编译。可悲的是没有。包含问题的行不是有效的 SCSS CSS。这个问题需要提交给代码的维护者。 有问题的代码行:github.com/OpenMage/magento-mirror/blob/magento-1.9/skin/… - 感谢您的帮助@cimmanon 我上面也有同样的问题,把它放在核心文件里很奇怪 【参考方案1】:

我在做与 Tom Griffin 完全相同的事情时也遇到了这个问题 - 创建一个新的 custompackage/customtheme,以 rwd/default 作为父项。

将 core/_common.scss 复制到我的 customtheme 文件夹并根据 Tom 的初始消息删除引号可解决问题并允许 compass 正确编译。

很糟糕,Magento 附带了无法编译的无效 SCSS 文件。第一次学习 SASS 和 Compass 肯定对我没有帮助!

正如 Tom 假设的那样,这可能是 Magento 主题开发人员拥有的 SASS/Compass 版本或设置。我正在使用 SASS 3.4.1 和 Compass 1.0.0。

谢谢

汤姆

【讨论】:

【参考方案2】:

这是与指南针的兼容性问题。 Magento 1.9 rwd 主题发布时,最新版本的 compass 是 0.12.6,编译正确。我至少用 1.12.3 测试过,编译没有问题。我怀疑这将在下一个版本中修复,因为开发人员将在指南针的更新版本上进行编译。删除引号将达到您想要的结果并至少在 1.0.0 和 1.0.1 版本下正确编译。这确实是一个指南针兼容性问题,而不是 Magento 核心错误,但我相信它很快就会得到解决。

【讨论】:

【参考方案3】:

打开 scss/core/_common.scss 并编辑第 541 行,仅删除 ".button" 中的引号

a:not(.button) 

【讨论】:

以上是关于无法在 Magento CE 1.9 中编译 rwd 皮肤 SCSS的主要内容,如果未能解决你的问题,请参考以下文章

Magento 1.9无法保存向上销售/相关/交叉销售产品

magento 1.9 上传后图片前后台无法正常显示

为 Magento 1.9 CMS 安装 facebook 登录

在Magento 1.9中安装Magento 2的扩展

如何在magento 1.9中集成条纹

Magento 1.9 创建新的 Hello World 模块