Файл темы переключателя языка Drupal 8

Где я могу найти блок переключателя языка drupal 8 и/или файл темы?

Я искал довольно много блогов и форумов для этого, но у меня либо нет файлов, либо нет такого кода в файлах, которые они предлагают. Думал, что есть такие модули, как раскрывающийся список переключателей, но я хотел бы внести всего несколько изменений в код, а не использовать весь модуль, который, возможно, исправляет то, что я хотел бы :)

Я не хочу добавлять флаг вместо ссылки. Однако другим жизнеспособным решением является создание собственного модуля и замена им этого модуля переключения языка.


person Diamonte    schedule 01.07.2016    source источник


Ответы (2)


Используйте веточную отладку. Файл links.html.twig управляет ссылками блока переключателя языка. Вы можете создавать ссылки --language-block.html.twig и изменять ссылки в файле шаблона.

person Ann    schedule 12.07.2016

Взгляните на 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;
  }
person leymannx    schedule 20.12.2016