如何在Drupal 8中使用语言依赖的自定义徽标图像?在“内容和语言翻译配置”页面中似乎没有适当的设置。
发布于 2016-07-28 00:18:26
我喜欢杰夫·伯恩斯的想法。如果您想要一个更“健壮”的解决方案,您可以创建自己的自定义块类型(硬代码)并将逻辑放在那里,因此如果由于某种原因无法使用新的语言徽标,那么它也可能会有退路。
我的第二个原因是:我不喜欢将任何一种逻辑放入表示层。
发布于 2022-05-05 03:11:11
更好的答案是实际使用Twig中已经提供的语言代码( Drupal > 8.2 ):
Drupal 8.2-8.7.5:
<img src="{{ base_path ~ directory }}/logos/logo-{{ language.getId() }}.png" alt={{ 'Home'|t }}" />
Drupal >8.7.5:
<img src="{{ base_path ~ directory }}/logos/logo-{{ language }}.png" alt={{ 'Home'|t }}" />
关于上述内容的一些信息:
base_path
是安装在Drupal下面的子目录(如果您的主页位于/
,您可以省略它)~
是Twig级联操作符。directory
是指向当前主题的路径。例如,如果我们假设:
example.com
(而不是example.com/my-drupal
或其他目录)访问Drupal。/themes/custom/mytheme
中en
上面的示例将解析为/themes/custom/mytheme/logos/logo-en.png
发布于 2016-12-28 22:43:35
为我们中更懒惰的人找到一个更容易的黑客,它根本不涉及任何编程--只需将以下内容添加到您的block--system-branding-block.html.twig
中:
<img src= "{{ path('<front>') ~ 'logo.png' }}" alt="{{ 'Home'|t }}" />
这将为您的站点默认语言(通常是英语)查找logo.png,为俄语查找rulogo.png等。
https://drupal.stackexchange.com/questions/208577
复制