WP-prog

Как в Drupal 6 сделать ссылку в меню в новом окне

Имеется сайт на Drupal 6. Заказчик попросил добавить в меню ссылку на другой сайт, чтобы она открывалась в новом окне. 

В Drupal 6 в настройках меню опция «Открыть в новом окне» почему-то отсутствует. Как же быть в такой ситуации?

Возможно, специалисты по Drupal знают, каким образом можно это настроить в админке или в коде, но я прибегнул к помощи JavaScript. Ниже я скопировать HTML код меню нашего сайта:

				
					<div class="content">
        <ul class="menu">
            <li class="first collapsed"><a href="/et/plastaknad-pvc-aknad" title="">Aknad</a></li>
            <li class="collapsed"><a href="/et/lukanduksed-voldikuksed" title="">Lükanduksed</a></li>
            <li class="collapsed"><a href="/et/uksed-valisuksed-metalluksed" title="">Uksed</a></li>
            <li class="collapsed"><a href="/et/rodude-klaasimine-terrasside-klaasimine-klaasimine" title="">Rõduklaasid</a></li>
            <li class="leaf"><a href="/et/tarvikud" title="">Tarvikud</a></li>
            <li class="leaf"><a href="https://arutech-store.com/" title="">E-POOD</a></li>
            <li class="leaf"><a href="/et/jarelmaks">Järelmaks</a></li>
            <li class="last leaf"><a href="/et/kontakt/tallinn" title="">Kontakt</a></li>
        </ul>
    </div>
				
			

В данном случае нам нужно сделать так, чтобы пункт меню «E-POOD» открывался в новом окне. Для этого выберем все элементы с классом .leaf. В полученном массиве выберем нужный элемент и добавим ему атрибут «_blank».

				
					<script>
        const items = document.querySelectorAll('.leaf');
        let link = items[1].querySelector('a');
        link.setAttribute('target', '_blank');
    </script>
				
			

Данный скрипт расположим где-нибудь в нижнем блоке в настройках страницы. Однако, данный сниппет работает только в админке Drupal. Если мы откроем сайт в инкогнито, то увидим, что необходимого атрибута в нашей ссылке нет, а наш код Drupal почему-то закомментировал, добавив «<!—//—><![CDATA[//><!—» перед ним.

Вынесем наш js код в отдельный файл и вместо самого кода просто подключим его:

				
					<script src="/sites/default/files/js/esa-script.js"></script>
				
			

После этого в режиме инкогнито мы видим, что атрибут «_blank» добавился нужному пункту:

Как в Drupal 6 сделать ссылку в меню в новом окне

Другие материалы по Drupal 6 можно найти здесь.

Если у Вас есть какие-либо вопросы, оставьте свой комментарий:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *