Битрикс открыть пункт меню в новой вкладке
Иногда в меню 1С-Битрикс нужно открыть ссылку в новой вкладке браузера.
Например:
- внешние сайты;
- документы;
- личные кабинеты;
- сервисы;
- CRM;
- админки;
- партнерские ссылки.
Для этого достаточно добавить:
target="_blank"
Пример файла меню
Пример файла:
.menu.php
с открытием пункта меню в новой вкладке:
<?
$aMenuLinks = Array(
Array(
"Пункт меню",
"/company/test/",
Array(),
Array(),
""
),
Array(
"Пункт меню с target=_blank",
'/company/test2/" target=_blank',
Array(),
Array(),
""
)
);
?>
Как это работает
Битрикс формирует HTML-ссылку на основе массива:
$aMenuLinks
И в URL можно добавить:
" target=_blank
В результате ссылка будет открываться в новой вкладке браузера.
Какой HTML получится
В итоге Битрикс сгенерирует примерно такой код:
<a href="/company/test2/" target="_blank">
Пункт меню
</a>
Более правильный способ
Однако такой способ считается «хаком», потому что атрибут внедряется прямо в URL.
Более правильный вариант — использовать дополнительные параметры меню:
<?
$aMenuLinks = Array(
Array(
"Пункт меню",
"/company/test/",
Array(),
Array(),
""
),
Array(
"Пункт меню с target=_blank",
"/company/test2/",
Array(),
Array(
"TARGET" => "_blank"
),
""
)
);
?>
Почему второй способ лучше
Такой вариант:
- чище;
- безопаснее;
- понятнее;
- не ломает URL;
- лучше поддерживается шаблонами меню.
Важно про шаблон меню
Чтобы параметр:
"TARGET" => "_blank"
работал, шаблон меню должен выводить этот атрибут.
Например:
<a
href="<?= $arItem["LINK"] ?>"
target="<?= $arItem["PARAMS"]["TARGET"] ?>"
>
<?= $arItem["TEXT"] ?>
</a>
Добавляем rel для безопасности
Для внешних ссылок желательно также добавить:
rel="noopener noreferrer"
Пример:
<a
href="/company/test2/"
target="_blank"
rel="noopener noreferrer"
>
Ссылка
</a>
Когда использовать target="_blank"
- внешние сайты;
- документы PDF;
- CRM;
- админки;
- сервисы партнеров;
- карты;
- сторонние платформы.
Когда лучше не использовать
Для внутренней навигации сайта обычно лучше открывать ссылки в текущей вкладке, чтобы не ухудшать UX.
Итог
Для открытия пункта меню в новой вкладке в Битрикс можно использовать:
target="_blank"
Быстрый способ — добавить атрибут прямо в URL, но более правильный вариант — передавать TARGET через параметры меню.
Комментарии