在Odoo 9中SASS而不是LESS

时间:2016-06-13 18:49:42

标签: odoo odoo-9

如何在Odoo v9中使用Sass而不是Less?

我按照official documentation的指导原则进行了非常基本的设置。它的效果与Less相同,但我无法与Sass合作。 views/assets.xml中的关注点如下所示:

<link href="/theme_name/static/less/style.less" rel="stylesheet" type="text/less"/>

但是当我把它改成scss时:

<link href="/theme_name/static/scss/style.scss" rel="stylesheet" type="text/scss"/>

我的样式不再加载了。也没有错误。

值得一提的是,当我尝试链接类型text/sass

时,我确实收到了错误消息
  

无法执行命令&#39; sass&#39;

2 个答案:

答案 0 :(得分:2)

终于有时间研究这个并找出编译样式表背后的魔力。

首先关闭SCSS语法支持。正确的链接或样式标记类型为text/sasstext/less。 Odoo确定语法的第二种方式是文件扩展名.sass.less。您可以设置其中一个或两个,结果相同。请参阅code responsible for the magic

其次,错误消息表明底层操作系统在其当前执行PATH中没有命令sass。命令本身必须由您预先安装。

Odoo在活动系统PATH中查找可执行文件sass,并使用特定选项listed here调用它。

有不同版本的sass编译器,但Odoo期望它是ruby version
有关详细信息,请参阅sass homepage中的安装部分。

除了sass,你还需要指南针 bootstrap-sass ruby​​ gems。

您决定安装所有这些取决于您的操作系统,环境设置和品味,但您需要 ruby​​版本&gt; 2.0

奖金:这就是我在Ubutnu 14.04中的表现。

默认情况下,Ubuntu有ruby 1.9。用dpkg -s ruby检查你得到了什么。
幸运的是有一个托管它的存储库。所以,让我们添加并安装ruby 2.3。

sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.3 ruby2.3-dev

您也需要-dev包。立即使用ruby -v检查您的红宝石版本。

接下来,您必须安装所需的宝石:

gem install sass compass bootstrap-sass --user-install

我在我的开发机器中使用选项--user-install将gems安装到我的主目录,而不是全局。这又取决于您的预先设置和系统设置。但一般来说,运行odoo的用户也必须拥有这些宝石的执行权限,无论它们在哪里。

答案 1 :(得分:1)

如果您使用的是ubuntu并且有错误/警告 sass &amp;你的odoo webapp中的 lessc 等, 然后你应该尝试跟随他们: -

[移除Hotch Potch]

$ sudo su     # Switch To Root Before Working ##
# rm -f /usr/bin/lessc /usr/bin/node
# apt remove node*
# cd /etc/apt/sources.list.d
# rm -f chris-lea-node_js-trusty.list *.save neurobin-ppa-trusty.list noobslab-apps-trusty.list 
# rm -f /var/cache/apt/archives/lock 
# apt-get clean

[安装必需的代表]

# apt-get install python-pip python-dev libevent-dev gcc libxml2-dev libxslt-dev node-less libldap2-dev libssl-dev  build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev python-software-properties ruby -y

[安装兼容的NodeJs&amp; lessc]

# apt-add-repository ppa:chris-lea/node.js
# apt-get update
# apt-get install nodejs

# npm install -g npm
# npm install -g less less-plugin-clean-css
# npm install -g less
# npm install -g node-less

# rm -f /etc/apt/sources.list.d/*.save /etc/apt/sources.list.d/*.log

[安装Ruby&gt; 2.0&amp;必需的Sass宝石]

# cd /tmp
# wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p481.tar.gz
# tar -xvzf ruby-2.0.0-p481.tar.gz
# cd ruby-2.0.0-p481/
# ./configure --prefix=/usr/local
# make
# make install
# ruby --version     # Should be greater than 2.0

# gem install sass
# gem install bootstrap-sass
# gem install compass

[启动您的WebApp]

# cd <path to main source code>
# python openerp-server -c openerp-server.conf

谢谢! n玩得开心!!