我有一个多语言网站,其中一种语言是RTL语言,在drupal 7中,我将style.css和rtl.css中的CSS放在style-rtl.css中,默认情况下Drupal也加载样式-rtl.css文件,现在在Drupal 8中,我有一个多语言主题,我如何告诉Drupal以RTL语言加载我的RTL样式?
更新我发现了此链接,但我不确定,因为我有一个近1400行的CSS文件,我应该把Dir=“rtl”放在所有选择器的前面?!
发布于 2016-08-01 12:05:39
Drupal 8使用库,您可以在模板中加载这些库。实现语言方向依赖库的一种方法是在html_attributes['dir']中使用html.html.twig变量,并根据值加载不同的库:
{% if html_attributes['dir'] == 'ltr' %}
{{ attach_library('your_theme_name/styles') }}
{% elseif html_attributes['dir'] == 'rtl' %}
{{ attach_library('your_theme_name/styles_rtl') }}
{%- endif -%}建立几个图书馆:
styles:
version: 8.x-1.0
css:
theme:
css/styles.css: {}
styles_rtl:
version: 8.x-1.0
css:
theme:
css/styles-rtl.css: {}发布于 2021-05-14 16:02:27
我刚刚编写了一个名为树枝RTL检测的简单模块,它扩展了twig,并为twig提供了一个布尔is_language_rtl函数,因此,如果这个函数在您想要的任何html.twig文件中返回TURE,您可以简单地添加html.twig库。
{{ attach_library('my_theme/front') }}
{% if is_language_rtl() %}
{{ attach_library('my_theme/front_rtl') }}
{% endif %}https://drupal.stackexchange.com/questions/209024
复制相似问题