Добрый день всем.
Стоит задача буквально следующая: с главной страницы все ссылки в меню должны открываться в новой вкладке (бог знает, зачем это надо, но...)
Со статическим меню все понятно, все работает.
С динамическим - голову сломала. Я не профи далеко, поэтому прошу совета.
Вот есть динамическое меню типа .left.menu_ext.php
Нужно как-то интегрировать функцию открытия в новой вкладке пунктов меню при условии нахождения на главной странице.
Отсутствие возможности визуальной интеграции по типу статического меню, когда условия и target можно прописать в административной части, ставит в тупик.
Я понимаю, что тут где-то и как-то должно быть что-то вроде if($APPLICATION->GetCurPage() == "/index.php") и внутри - видимо - $aMenuLinks = Array(Array("target"=>"target=\"_blank\"")
Сильно подозреваю, что я не права. Посоветуйте, пожалуйста.
Вот код самого этого меню:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$aMenuLinksExt = array();
$arSections = CCache::CIBlockSection_GetList(array("SORT" => "ASC", "ID" => "ASC", "CACHE" => array("TAG" => CCache::GetIBlockCacheTag(CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0], "ACTIVE" => "Y", "GLOBAL_ACTIVE" => "Y", "ACTIVE_DATE" => "Y"));
$arSectionsByParentSectionID = CCache::GroupArrayBy($arSections, array("MULTI" => "Y", "GROUP" => array("IBLOCK_SECTION_ID")));
/*$arItems = CCache::CIBlockElement_GetList(array("SORT" => "ASC", "ID" => "DESC", "CACHE" => array("TAG" => CCache::GetIBlockCacheTag(CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0], "ACTIVE" => "Y", "SECTION_GLOBAL_ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "INCLUDE_SUBSECTIONS" => "Y"));
$arItemsBySectionID = CCache::GroupArrayBy($arItems, array("MULTI" => "Y", "GROUP" => array("IBLOCK_SECTION_ID")));*/
if($arSections){
aspro::getSectionChilds(false, $arSections, $arSectionsByParentSectionID, $arItemsBySectionID, $aMenuLinksExt);
}
else{
foreach($arItems as $arItem){
$aMenuLinksExt[] = array($arItem["NAME"], $arItem["DETAIL_PAGE_URL"], array(), array("FROM_IBLOCK" => 1, "DEPTH_LEVEL" => 1));
}
}
if($aMenuLinksExt){
$aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt);
}
?>
Стоит задача буквально следующая: с главной страницы все ссылки в меню должны открываться в новой вкладке (бог знает, зачем это надо, но...)
Со статическим меню все понятно, все работает.
С динамическим - голову сломала. Я не профи далеко, поэтому прошу совета.
Вот есть динамическое меню типа .left.menu_ext.php
Нужно как-то интегрировать функцию открытия в новой вкладке пунктов меню при условии нахождения на главной странице.
Отсутствие возможности визуальной интеграции по типу статического меню, когда условия и target можно прописать в административной части, ставит в тупик.
Я понимаю, что тут где-то и как-то должно быть что-то вроде if($APPLICATION->GetCurPage() == "/index.php") и внутри - видимо - $aMenuLinks = Array(Array("target"=>"target=\"_blank\"")
Сильно подозреваю, что я не права. Посоветуйте, пожалуйста.
Вот код самого этого меню:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$aMenuLinksExt = array();
$arSections = CCache::CIBlockSection_GetList(array("SORT" => "ASC", "ID" => "ASC", "CACHE" => array("TAG" => CCache::GetIBlockCacheTag(CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0], "ACTIVE" => "Y", "GLOBAL_ACTIVE" => "Y", "ACTIVE_DATE" => "Y"));
$arSectionsByParentSectionID = CCache::GroupArrayBy($arSections, array("MULTI" => "Y", "GROUP" => array("IBLOCK_SECTION_ID")));
/*$arItems = CCache::CIBlockElement_GetList(array("SORT" => "ASC", "ID" => "DESC", "CACHE" => array("TAG" => CCache::GetIBlockCacheTag(CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_catalog"]["aspro_allcorp_catalog"][0], "ACTIVE" => "Y", "SECTION_GLOBAL_ACTIVE" => "Y", "ACTIVE_DATE" => "Y", "INCLUDE_SUBSECTIONS" => "Y"));
$arItemsBySectionID = CCache::GroupArrayBy($arItems, array("MULTI" => "Y", "GROUP" => array("IBLOCK_SECTION_ID")));*/
if($arSections){
aspro::getSectionChilds(false, $arSections, $arSectionsByParentSectionID, $arItemsBySectionID, $aMenuLinksExt);
}
else{
foreach($arItems as $arItem){
$aMenuLinksExt[] = array($arItem["NAME"], $arItem["DETAIL_PAGE_URL"], array(), array("FROM_IBLOCK" => 1, "DEPTH_LEVEL" => 1));
}
}
if($aMenuLinksExt){
$aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt);
}
?>