Chr*_*ale 2 less liquid shopify
我正在创建一个Shopify主题,我正在使用LESS来编译Shopify需要的样式表作为style.css.liquid.这一切都工作正常,我开始添加lquid过滤器和if语句.
当它在css属性中时,我的Liquid语法有效:
@brand-colour: ~"{{ settings.brand_colour }}";
h1{ color: @brand-colour;}
Run Code Online (Sandbox Code Playgroud)
其编译成如下:
h1 {color: {{ settings.brandcolour }};
Run Code Online (Sandbox Code Playgroud)
这很好.
我不能做的是插入一个液体声明,而不是像这样的css属性:
{% if settings.full-bg %}
background-color: …
Run Code Online (Sandbox Code Playgroud)
我试过逃避它
~"{% settings… %}"
Run Code Online (Sandbox Code Playgroud)
乃至
@var: "{% if settings.full-bg %}"
Run Code Online (Sandbox Code Playgroud)
然后跑
@{var}
Run Code Online (Sandbox Code Playgroud)
但是我的编译器不喜欢它......
有什么建议?
如果有人感兴趣,我解决这个问题的方法是将我的shopify/Liquid内容放在评论中,如下:
/* {% if settings.repeating-pattern %} */
background: url(~"{{ 'repeating-pattern-header.png' | asset_url }}");
/* {% endif %} */
Run Code Online (Sandbox Code Playgroud)
Shopify很荣幸这一点.
只是为了找到可能偶然发现这个页面的其他人的信息,你实际上并不需要像这样处理变量:
@brand-colour: ~"{{ settings.brand_colour }}";
h1{ color: @brand-colour;}
Run Code Online (Sandbox Code Playgroud)
您可以使用SASS插值实际执行此操作:
h1 { color: #{'{{ settings.brand_colour }}'}; }
Run Code Online (Sandbox Code Playgroud)
外行人的术语中的插值只是包装一个变量#{' '},告诉SASS在编译CSS时将其输出为纯文本.