Сначала пробовал изменить в 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 разметка находится?
Комментарии
"Конфигурация" > "Регион и язык" > "Перевод пользовательского интерфейса" (admin/config/regional/translate)
OFF:
???
А как вручную поменять? Где можно найти html и само слово Home? Я перелопатил всю папку templates и не в одном файле не нашел
<ul>
классmenu menu--main nav navbar-nav
. Просто у меня может возникнуть ситуация где мне нужно будет Homе переназвать например на Front или Main или другое название. Тут даже не столько в языке дело. Извините что дезориентировал вас сначала... Я поправил свой вопрос.Ну тоесть например есть имя Петя а мне нужно написать ПЕТЯ
Регистр лучше менять с помощью CSS
Вы полны сюрпризов, мой друг.
Так я вам выше и написал, где искать само слово и где вручную поменять перевод. В Drupal ссылка типа
<front>
(т.е. на главную страницу, она же "Home") является чем-то вроде константы - как элемент интерфейса. И может быть переведена на другие языки. Можете написать в качестве перевода "FRONT", хоть это и не по правилам, но в общем-то технически без разницы, если сайт не мультиязычный.HTML-разметка пунктов меню в Друпале находится только в шаблонах, больше нигде. Но вы можете, например, для первого пункта меню изменить вывод в Twig'е и заменить на что угодно. Это самый простой способ, если не трогать preprocess-функции.
Да я бы ему не рекомендовал и шаблоны трогать
У меня на английском Drupal. Но что-то я не понимаю где и что мне изменить по тому пути который вы предложили
Вот скриншот:
Вы немного не добрались до конечной остановки.
Regional and Language, а далее должно быть что-то вроде Translate
Не помню точно, под рукой нет английской версии - может кто-то другой подскажет.
Стоп. Если у вас английская версия, то перевод (как вы писали изначально в первом вопросе) вообще ни при чём. Вы действительно меня дезориентировали.
Думаю, в вашем случае и при ваших навыках лучше оставить всё как есть. Либо - правки шаблона (а это синтаксис Twig, который порой понять не проще, чем PHP).
Да у меня просто уже другие линки на украинском написаны. И Home нужно также на украинский перевести... Перевести на английский не проблема другие линки. Но нужно чтобы весь сайт был на украинском. И Home не вписывается туда никак... Кроме того, все линки должны быть в верхнем регистре. Вот так:
ГЛАВНАЯ НОВОСТИ БЛОГИ О НАС
Вы говорите что html разметка находится только в twig шаблонах. А где тогда эти теги разметки находятся? Я их в twig шаблонах нигде не видел, хотя пересометрел все файлы папки templates , вот эти:
Ну я как бы уже ничего не понимаю. Изначально вы спрашивали, как изменить перевод для Home. Потом, вы дали понять, что перевод не интересует, а нужно менять название пункта на английском языке (FRONT, MAIN и т.д.).
Если всё же нужен перевод на украинский - я вам написал, где можно изменить перевод системным образом.
Видимо, плохо смотрели. Например, 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 %}
...
Изначально мне просто нужно было перевести home на украинский. Но хотел зделать это вручную без использования админки Drupal. Тоесть хотел узнать как изменять название просто отредактировав код. А если у меня есть доступ к коду то мне уже не важен язык. Поэтому я и изменил вопрос чтобы не привязываться к изменению языка.
Я имел ввиду html разметку, а не twig разметку. Тоесть меня интересует где находиться такой код с моего хедера:
<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
Даже не знаю, как на это реагировать. Я, видимо, чего-то не знаю. Объясните, пожалуйста, в чём принципиальная разница между HTML-разметкой и Twig-шаблоном.
Ок, подойду с другой стороны. В моей теме есть класс:
<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 и версткой вообще никогда заниманились?
Не буду вас больше мучить. marassa уже обьяснил мне:
Он просто с Украины, в великом регистре = в верхнем регистре.
Понятно. Я было предположил, что автор - поляк.
Я ничего не знаю про Bootstrap и почти ничего про темы вообще, но знаю вот что: Drupal 8 позволяет переводить с английского на английский, то есть задавать для конкретного сайта альтернативные написания тех или иных стандартных строк на том же языке.
Сначала включите саму возможность перевода с английского на английский на странице /admin/config/regional/language/edit/en (в самом низу).
Потом на странице /admin/config/regional/translate найдите строку Home и переведите на английский же как FRONT.
На всякий случай сбросьте кэш друпала на странице /admin/config/development/performance .
Если не помогло, значит тема Bootstrap определяет Home где-то в своих недрах, и моё сокровенное знание к Вашему конкретному случаю неприменимо.
Этот HTML код нигде не "находится", а генерируется системой Drupal на лету на основании шаблонов twig, содержимого базы данных и иногда PHP-кода (что неправильно, но бывает). В генерации HTML кода из базы данных в соответствии с шаблонами и настройками собственно и заключается основная функция Drupal (как и любой другой CMS).
Тоесть получается я не могу html разметку каким нибудь образом менять? Максимум что могу это посмотреть название класса в инструментах разрабочитка в моем браузере, который сгенерировал Drupal и что-то стилизировать в файле css на основе уже згенированых файлов. Да?
Всё можно менять, но при соответствующих знаниях и навыках. Я вам показал, где находится HTML-разметка меню (menu--main.html.twig). Классы/атрибуты можно добавить там же. Но нужно понимать синтаксис Twig, а, видимо, это вы не хотите осознать.
В шаблон меню приходит в виде массива (все ссылки меню) и в шаблоне происходит циклический (программный) вывод всех пунктов с оборачиванием в нужные HTML-элементы.
Отключи ссылку «Home» и создай новую, указав на нее
<front>
или
https://www.drupal.org/project/drupal/issues/2838106