Добрый день. Понадобилось сделать меню, в котором в выпадающем элементе будет форма для авторизации. Подскажите, верно ли я реализовал или это как-то по другому, более правильно нужно делать? Может через какие-то специальные пункты меню это делается?
Кусок код шаблона меню,отвечающий за элемент с авторизацией.
[CODE] <?php if (isset($arItem['PARAMS']['AUTH']) && ($arItem['PARAMS']['AUTH'] == 'Y')):?>
<li class="<? if ($arItem["SELECTED"]): ?>current-menu-item<? else: ?><?endif ?>">
<a href="<?= $arItem["LINK"] ?>" class="<? if ($arItem["SELECTED"]): ?>root-item-selected<? else: ?>root-item<?endif ?>"><?=$arItem["TEXT"]?></a>
<div class="menu-block">
<?$APPLICATION->IncludeComponent("bitrix:system.auth.form", "auth_in_sub_top_menu", Array(
"REGISTER_URL" => "", // Страница регистрации
"FORGOT_PASSWORD_URL" => "", // Страница забытого пароля
"PROFILE_URL" => "", // Страница профиля
"SHOW_ERRORS" => "N", // Показывать ошибки
),
false
);?>
</div>
<?php else: ?>
<li class="menu-item <? if ($arItem["SELECTED"]): ?>current-menu-item<? else: ?><?endif ?>">
<a href="<?= $arItem["LINK"] ?>" class="<? if ($arItem["SELECTED"]): ?>root-item-selected<? else: ?>root-item<?endif ?>"><?=$arItem["TEXT"]?></a>
<?php endif;?>
[/CODE]Т.е. я сделал элемент меню, ему назначил параметр AUTH со значением Y, чтобы определить что это пункт для авторизации, и в коде проверяю это значение и подставляю другой компонент.
Кусок код шаблона меню,отвечающий за элемент с авторизацией.
[CODE] <?php if (isset($arItem['PARAMS']['AUTH']) && ($arItem['PARAMS']['AUTH'] == 'Y')):?>
<li class="<? if ($arItem["SELECTED"]): ?>current-menu-item<? else: ?><?endif ?>">
<a href="<?= $arItem["LINK"] ?>" class="<? if ($arItem["SELECTED"]): ?>root-item-selected<? else: ?>root-item<?endif ?>"><?=$arItem["TEXT"]?></a>
<div class="menu-block">
<?$APPLICATION->IncludeComponent("bitrix:system.auth.form", "auth_in_sub_top_menu", Array(
"REGISTER_URL" => "", // Страница регистрации
"FORGOT_PASSWORD_URL" => "", // Страница забытого пароля
"PROFILE_URL" => "", // Страница профиля
"SHOW_ERRORS" => "N", // Показывать ошибки
),
false
);?>
</div>
<?php else: ?>
<li class="menu-item <? if ($arItem["SELECTED"]): ?>current-menu-item<? else: ?><?endif ?>">
<a href="<?= $arItem["LINK"] ?>" class="<? if ($arItem["SELECTED"]): ?>root-item-selected<? else: ?>root-item<?endif ?>"><?=$arItem["TEXT"]?></a>
<?php endif;?>
[/CODE]Т.е. я сделал элемент меню, ему назначил параметр AUTH со значением Y, чтобы определить что это пункт для авторизации, и в коде проверяю это значение и подставляю другой компонент.