Как в Bootstrap теме изменить в хедере название линка "Home" на "FRONT" или на "MAIN"?

Аватар пользователя nathan158 nathan158 21 июня 2020 в 15:53

Сначала пробовал изменить в Structure/Menus/Main navigation но там нельзя изменить название. Там можно только изменить регион в котором линк находиться и Weight.

Потом решил попробовать в самом twig-шаблоне изменить. Клацнул в браузере Проверить елемент. Так как у меня включен режим дебагинга мне показало что данный элемент находится в templates/menu в файле menu.html.twig в <ul> классе menu menu--main nav navbar-nav. Но никакого слова Home и <ul> класса menu menu--main nav navbar-nav я не нашел.

Где мне найти слово Home и класс menu menu--main nav navbar-nav чтобы вручную поменять Home на FRONT?

P.S. Я только начинаю изучать Drupal. Возможно html теги в Drupal находятся не только в twig шаблонах а где-то еще? Может в каких-то PHP файлах html разметка находится?

Лучший ответ

Комментарии

Аватар пользователя OldWarrior OldWarrior 21 июня 2020 в 16:06

nathan158 wrote: Где мне найти слово Home ...

"Конфигурация" > "Регион и язык" > "Перевод пользовательского интерфейса" (admin/config/regional/translate)

OFF:

nathan158 wrote:... в великом регистре ...

???

Аватар пользователя nathan158 nathan158 21 июня 2020 в 16:39

А как вручную поменять? Где можно найти html и само слово Home? Я перелопатил всю папку templates и не в одном файле не нашел <ul> класс menu menu--main nav navbar-nav. Просто у меня может возникнуть ситуация где мне нужно будет Homе переназвать например на Front или Main или другое название. Тут даже не столько в языке дело. Извините что дезориентировал вас сначала... Я поправил свой вопрос.

nathan158 wrote:... в великом регистре ...

???

Ну тоесть например есть имя Петя а мне нужно написать ПЕТЯ

Аватар пользователя OldWarrior OldWarrior 21 июня 2020 в 16:58

Вы полны сюрпризов, мой друг.

nathan158 wrote: А как вручную поменять? Где можно найти html и само слово Home? ...

Так я вам выше и написал, где искать само слово и где вручную поменять перевод. В Drupal ссылка типа <front> (т.е. на главную страницу, она же "Home") является чем-то вроде константы - как элемент интерфейса. И может быть переведена на другие языки. Можете написать в качестве перевода "FRONT", хоть это и не по правилам, но в общем-то технически без разницы, если сайт не мультиязычный.

HTML-разметка пунктов меню в Друпале находится только в шаблонах, больше нигде. Но вы можете, например, для первого пункта меню изменить вывод в Twig'е и заменить на что угодно. Это самый простой способ, если не трогать preprocess-функции.

Аватар пользователя nathan158 nathan158 21 июня 2020 в 17:06

У меня на английском Drupal. Но что-то я не понимаю где и что мне изменить по тому пути который вы предложили

"Конфигурация" > "Регион и язык" > "Перевод пользовательского интерфейса" (admin/config/regional/translate)

Вот скриншот:

Аватар пользователя OldWarrior OldWarrior 21 июня 2020 в 17:11

Вы немного не добрались до конечной остановки.
Regional and Language, а далее должно быть что-то вроде Translate
Не помню точно, под рукой нет английской версии - может кто-то другой подскажет.

Аватар пользователя OldWarrior OldWarrior 21 июня 2020 в 17:26

Стоп. Если у вас английская версия, то перевод (как вы писали изначально в первом вопросе) вообще ни при чём. Вы действительно меня дезориентировали.

Думаю, в вашем случае и при ваших навыках лучше оставить всё как есть. Либо - правки шаблона (а это синтаксис Twig, который порой понять не проще, чем PHP).

Аватар пользователя nathan158 nathan158 21 июня 2020 в 17:44

Да у меня просто уже другие линки на украинском написаны. И Home нужно также на украинский перевести... Перевести на английский не проблема другие линки. Но нужно чтобы весь сайт был на украинском. И Home не вписывается туда никак... Кроме того, все линки должны быть в верхнем регистре. Вот так:

ГЛАВНАЯ НОВОСТИ БЛОГИ О НАС

Вы говорите что html разметка находится только в twig шаблонах. А где тогда эти теги разметки находятся? Я их в twig шаблонах нигде не видел, хотя пересометрел все файлы папки templates , вот эти:

Аватар пользователя OldWarrior OldWarrior 21 июня 2020 в 18:21

nathan158 wrote: Да у меня просто уже другие линки на украинском написаны. И Home нужно также на украинский перевести... Перевести на английский не проблема другие линки. Но нужно чтобы весь сайт был на украинском.

Ну я как бы уже ничего не понимаю. Изначально вы спрашивали, как изменить перевод для Home. Потом, вы дали понять, что перевод не интересует, а нужно менять название пункта на английском языке (FRONT, MAIN и т.д.).

Если всё же нужен перевод на украинский - я вам написал, где можно изменить перевод системным образом.

nathan158 wrote:... А где тогда эти теги разметки находятся? Я их в twig шаблонах нигде не видел, хотя пересометрел все файлы папки templates , вот эти:

Видимо, плохо смотрели. Например, menu--main.html.twig:

...
    {% for item in items %}
      <li{{ item.attributes }}>
        {{ link(item.title, item.url) }}
        {% if item.below %}
          {{ menus.menu_links(item.below, attributes, menu_level + 1) }}
        {% endif %}
      </li>
    {% endfor %}
...
Аватар пользователя nathan158 nathan158 21 июня 2020 в 18:44

Изначально мне просто нужно было перевести home на украинский. Но хотел зделать это вручную без использования админки Drupal. Тоесть хотел узнать как изменять название просто отредактировав код. А если у меня есть доступ к коду то мне уже не важен язык. Поэтому я и изменил вопрос чтобы не привязываться к изменению языка.

Я имел ввиду html разметку, а не twig разметку. Тоесть меня интересует где находиться такой код с моего хедера:

<ul class="menu menu--main nav navbar-nav">
                      <li class="first">
                                        <a href="http://drupalsite/news">НОВОСТИ</a>
              </li>
                      <li class="last">
                                        <a href="http://drupalsite/blog">БЛОГ</a>
              </li>
        </ul>

Код который показывает браузер когда я жму правой кнопкой мышки на моем хедере/ Проверить(Ctrl+Shift+I) / Elements

Аватар пользователя OldWarrior OldWarrior 21 июня 2020 в 19:17

nathan158 wrote: Я имел ввиду html разметку, а не twig разметку.

Даже не знаю, как на это реагировать. Я, видимо, чего-то не знаю. Объясните, пожалуйста, в чём принципиальная разница между HTML-разметкой и Twig-шаблоном.

Аватар пользователя nathan158 nathan158 21 июня 2020 в 22:11

Ок, подойду с другой стороны. В моей теме есть класс: <ul class="menu menu--main nav navbar-nav"> к которому применяются стили с css файла. Этот класс можно увидить в браузере Сhrome нажав Ctrl+Shift+I и перейдя в вкладу Elements.
Простой вопрос: В каком файле присуствует класс <ul class="menu menu--main nav navbar-nav">?
Или вы back-end developer и версткой вообще никогда заниманились?

Аватар пользователя nathan158 nathan158 21 июня 2020 в 22:28

Не буду вас больше мучить. marassa уже обьяснил мне:

Этот HTML код нигде не "находится", а генерируется системой Drupal на лету на основании шаблонов twig, содержимого базы данных и иногда PHP-кода (что неправильно, но бывает). В генерации HTML кода из базы данных в соответствии с шаблонами и настройками собственно и заключается основная функция Drupal (как и любой другой CMS).

Аватар пользователя runner12 runner12 21 июня 2020 в 16:43

OldWarrior wrote: nathan158 wrote:... в великом регистре ...

???

Он просто с Украины, в великом регистре = в верхнем регистре.

Аватар пользователя marassa marassa 21 июня 2020 в 17:48

Я ничего не знаю про Bootstrap и почти ничего про темы вообще, но знаю вот что: Drupal 8 позволяет переводить с английского на английский, то есть задавать для конкретного сайта альтернативные написания тех или иных стандартных строк на том же языке.
Сначала включите саму возможность перевода с английского на английский на странице /admin/config/regional/language/edit/en (в самом низу).
Потом на странице /admin/config/regional/translate найдите строку Home и переведите на английский же как FRONT.
На всякий случай сбросьте кэш друпала на странице /admin/config/development/performance .
Если не помогло, значит тема Bootstrap определяет Home где-то в своих недрах, и моё сокровенное знание к Вашему конкретному случаю неприменимо.

Аватар пользователя marassa marassa 21 июня 2020 в 20:22

nathan158 wrote: Я имел ввиду html разметку, а не twig разметку. Тоесть меня интересует где находиться такой код с моего хедера

Этот HTML код нигде не "находится", а генерируется системой Drupal на лету на основании шаблонов twig, содержимого базы данных и иногда PHP-кода (что неправильно, но бывает). В генерации HTML кода из базы данных в соответствии с шаблонами и настройками собственно и заключается основная функция Drupal (как и любой другой CMS).

Аватар пользователя nathan158 nathan158 21 июня 2020 в 22:19

Тоесть получается я не могу html разметку каким нибудь образом менять? Максимум что могу это посмотреть название класса в инструментах разрабочитка в моем браузере, который сгенерировал Drupal и что-то стилизировать в файле css на основе уже згенированых файлов. Да?

Аватар пользователя OldWarrior OldWarrior 22 июня 2020 в 8:01

nathan158 wrote:... получается я не могу html разметку каким нибудь образом менять? ...

Всё можно менять, но при соответствующих знаниях и навыках. Я вам показал, где находится HTML-разметка меню (menu--main.html.twig). Классы/атрибуты можно добавить там же. Но нужно понимать синтаксис Twig, а, видимо, это вы не хотите осознать.

В шаблон меню приходит в виде массива (все ссылки меню) и в шаблоне происходит циклический (программный) вывод всех пунктов с оборачиванием в нужные HTML-элементы.