2

在哪里可以找到 drupal 8 语言切换块和/或主题文件?

我一直在为此寻找很多博客和论坛,但我要么没有文件,要么没有他们建议的文件中的此类代码。认为有像切换器下拉菜单这样的模块,但我只想对代码做一些更改,而不是使用整个模块,这可能会修复我想要的东西:)

我不想添加标志而不是链接。但是,另一个可行的解决方案是创建自己的模块并用它替换这个语言切换器模块?

4

2 回答 2

2

使用 twig 调试。links.html.twig 文件控制语言切换器块链接。您可以创建链接--language-block.html.twig 并更改模板文件中的链接。

于 2016-07-12T11:26:39.507 回答
1

看看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;
  }
于 2016-12-20T14:43:01.153 回答