【问题标题】:Drupal 8 language switcher theme fileDrupal 8 语言切换器主题文件
【发布时间】:2016-07-01 07:57:28
【问题描述】:
在哪里可以找到 drupal 8 语言切换块和/或主题文件?
为此,我一直在寻找很多博客和论坛,但我要么没有文件,要么没有他们建议的文件中的此类代码。以为有像切换器下拉菜单这样的模块,但我只想对代码做一些更改,而不是使用整个模块,这可能会修复我想要的东西:)
我不想添加标志而不是链接。然而,另一个可行的解决方案是创建自己的模块并用它替换这个语言切换器模块?
【问题讨论】:
标签:
drupal-modules
drupal-theming
drupal-8
language-switching
【解决方案1】:
使用 twig 调试。 links.html.twig 文件控制语言切换器块链接。您可以创建链接--language-block.html.twig 并更改模板文件中的链接。
【解决方案2】:
看看 core/modules/language/src/Plugin/Block/LanguageBlock.php
/**
* {@inheritdoc}
*/
public function build() {
$build = array();
$route_name = $this->pathMatcher->isFrontPage() ? '<front>' : '<current>';
$type = $this->getDerivativeId();
$links = $this->languageManager->getLanguageSwitchLinks($type, Url::fromRoute($route_name));
if (isset($links->links)) {
$build = array(
'#theme' => 'links__language_block',
'#links' => $links->links,
'#attributes' => array(
'class' => array(
"language-switcher-{$links->method_id}",
),
),
'#set_active_class' => TRUE,
);
}
return $build;
}