Привет всем!
Друзья помочите понять в чём моя ошибка.
Есть два инфоблока (одинаковых по сути в настройках).
В одном структура разделов в инфоблоке следующая - Раздел -> 2 подраздела -> в каждом элементы
В корне следующая конструкция папок - Папка пункта меню -> Папка Раздела -> Папка Подраздела -> Папка Элемента 1, Папка Элемента 2, Папка Элемента 3, Папка Элемента 4 (в каждой папке три файла .left.menu_ext.php - .section.php - index.php)
В файлах index.php используется компонент bitrix:news со следующим содержимым:
В файле .section.php следующее содержимое:
В файле .left.menu_ext.php следующее содержимое:
Всё работает как положено, в боковом меню все пункты выводятся и каждая детальная страница открывается.
Возникла необходимость создания ещё одного пункта меню и ещё одного отдельного раздела но с немного иной конструкции а именно.
Точнее вот такую - Раздел -> 3 Подраздела -> 6 Подразделов -> в каждом элементы
Конструкция в корне папок такая же как и в первом варианте разница лишь в выводе компонента, в этом случае вывожу через bitrix:news.list все пункты меню выводятся, в общем всё в порядке как и в первом за исключением того что при открытии детальной получаю следующую страницу;
.
Теперь дам что у меня в этих файлах.
В файлах index.php используется компонент bitrix:news со следующим содержимым:
В файле .left.menu_ext.php следующее содержимое:
ну и третий файл .section.php как и в первом варианте идентичен.
Понимаю, что что-то явно упускаю из внимания, но прошу прощения очень редко имею дело с Битриксом. Постарался объяснит как можно подробнее. Как смог
Если сможете помочь в понимании ошибки буду очень признателен.
Друзья помочите понять в чём моя ошибка.
Есть два инфоблока (одинаковых по сути в настройках).
В одном структура разделов в инфоблоке следующая - Раздел -> 2 подраздела -> в каждом элементы
В корне следующая конструкция папок - Папка пункта меню -> Папка Раздела -> Папка Подраздела -> Папка Элемента 1, Папка Элемента 2, Папка Элемента 3, Папка Элемента 4 (в каждой папке три файла .left.menu_ext.php - .section.php - index.php)
В файлах index.php используется компонент bitrix:news со следующим содержимым:
Код |
---|
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("");?> <?$APPLICATION->IncludeComponent("bitrix:news", "services", array( "IBLOCK_TYPE" => "aspro_allcorp_content", "IBLOCK_ID" => "12", "NEWS_COUNT" => "20", "USE_SEARCH" => "N", "USE_RSS" => "N", "USE_RATING" => "N", "USE_CATEGORIES" => "N", "USE_FILTER" => "Y", "FILTER_NAME" => "arrFilter", "FILTER_FIELD_CODE" => array( 0 => "", 1 => "", ), "FILTER_PROPERTY_CODE" => array( 0 => "", 1 => "", ), "SORT_BY1" => "SORT", "SORT_ORDER1" => "ASC", "SORT_BY2" => "ID", "SORT_ORDER2" => "DESC", "CHECK_DATES" => "Y", "SEF_MODE" => "Y", "SEF_FOLDER" => "/services/", "AJAX_MODE" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "CACHE_TYPE" => "A", "CACHE_TIME" => "100000", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "Y", "SET_TITLE" => "Y", "SET_STATUS_404" => "N", "INCLUDE_IBLOCK_INTO_CHAIN" => "N", "ADD_SECTIONS_CHAIN" => "Y", "USE_PERMISSIONS" => "N", "PREVIEW_TRUNCATE_LEN" => "", "LIST_ACTIVE_DATE_FORMAT" => "d.m.Y", "LIST_FIELD_CODE" => array( 0 => "NAME", 1 => "PREVIEW_TEXT", 2 => "PREVIEW_PICTURE", 3 => "", ), "LIST_PROPERTY_CODE" => array( 0 => "", 1 => "", ), "HIDE_LINK_WHEN_NO_DETAIL" => "N", "DISPLAY_NAME" => "N", "META_KEYWORDS" => "-", "META_DESCRIPTION" => "-", "BROWSER_TITLE" => "-", "DETAIL_ACTIVE_DATE_FORMAT" => "d.m.Y", "DETAIL_FIELD_CODE" => array( 0 => "DETAIL_TEXT", 1 => "DETAIL_PICTURE", 2 => "", ), "DETAIL_PROPERTY_CODE" => array( 0 => "LINK_GOODS", 1 => "LINK_STAFF", 2 => "LINK_REVIEWS", 3 => "LINK_PROJECTS", 4 => "FORM_ORDER", 5 => "FORM_QUESTION", 6 => "DOCUMENTS", 7 => "PHOTOS", 8 => "", ), "DETAIL_DISPLAY_TOP_PAGER" => "N", "DETAIL_DISPLAY_BOTTOM_PAGER" => "Y", "DETAIL_PAGER_TITLE" => "Страница", "DETAIL_PAGER_TEMPLATE" => "", "DETAIL_PAGER_SHOW_ALL" => "Y", "PAGER_TEMPLATE" => ".default", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "PAGER_TITLE" => "Новости", "PAGER_SHOW_ALWAYS" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "N", "IMAGE_POSITION" => "left", "USE_SHARE" => "N", "AJAX_OPTION_ADDITIONAL" => "", "SEF_URL_TEMPLATES" => array( "news" => "", "section" => "#SECTION_CODE_PATH#/", "detail" => "#SECTION_CODE_PATH#/#ELEMENT_CODE#/", ) ), false );?> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |
В файле .section.php следующее содержимое:
Код |
---|
<? $sSectionName = ""; $arDirProperties = Array( "menu" => "Y" ); ?> |
В файле .left.menu_ext.php следующее содержимое:
Код |
---|
<?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_content"]["aspro_allcorp_services"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_content"]["aspro_allcorp_services"][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_content"]["aspro_allcorp_services"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_content"]["aspro_allcorp_services"][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); } ?> |
Всё работает как положено, в боковом меню все пункты выводятся и каждая детальная страница открывается.
Возникла необходимость создания ещё одного пункта меню и ещё одного отдельного раздела но с немного иной конструкции а именно.
Точнее вот такую - Раздел -> 3 Подраздела -> 6 Подразделов -> в каждом элементы
Конструкция в корне папок такая же как и в первом варианте разница лишь в выводе компонента, в этом случае вывожу через bitrix:news.list все пункты меню выводятся, в общем всё в порядке как и в первом за исключением того что при открытии детальной получаю следующую страницу;
.
Теперь дам что у меня в этих файлах.
В файлах index.php используется компонент bitrix:news со следующим содержимым:
Код |
---|
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("");?><?$APPLICATION->IncludeComponent( "bitrix:news", "services", Array( "ADD_ELEMENT_CHAIN" => "N", "ADD_SECTIONS_CHAIN" => "Y", "AJAX_MODE" => "N", "AJAX_OPTION_ADDITIONAL" => "", "AJAX_OPTION_HISTORY" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "BROWSER_TITLE" => "-", "CACHE_FILTER" => "N", "CACHE_GROUPS" => "Y", "CACHE_TIME" => "36000000", "CACHE_TYPE" => "A", "CHECK_DATES" => "Y", "COMPOSITE_FRAME_MODE" => "A", "COMPOSITE_FRAME_TYPE" => "AUTO", "DETAIL_ACTIVE_DATE_FORMAT" => "d.m.Y", "DETAIL_DISPLAY_BOTTOM_PAGER" => "Y", "DETAIL_DISPLAY_TOP_PAGER" => "N", "DETAIL_FIELD_CODE" => array("NAME","DETAIL_TEXT","DETAIL_PICTURE",""), "DETAIL_PAGER_SHOW_ALL" => "Y", "DETAIL_PAGER_TEMPLATE" => "", "DETAIL_PAGER_TITLE" => "Страница", "DETAIL_PROPERTY_CODE" => array("LINK_GOODS","LINK_STAFF","LINK_REVIEWS","LINK_PROJECTS","FORM_ORDER","FORM_QUESTION","DOCUMENTS","PHOTOS"), "DETAIL_SET_CANONICAL_URL" => "N", "DISPLAY_BOTTOM_PAGER" => "Y", "DISPLAY_DATE" => "Y", "DISPLAY_NAME" => "Y", "DISPLAY_PICTURE" => "Y", "DISPLAY_PREVIEW_TEXT" => "Y", "DISPLAY_TOP_PAGER" => "N", "FILTER_FIELD_CODE" => array("",""), "FILTER_NAME" => "arrFilter", "FILTER_PROPERTY_CODE" => array("",""), "HIDE_LINK_WHEN_NO_DETAIL" => "N", "IBLOCK_ID" => "29", "IBLOCK_TYPE" => "aspro_allcorp_content", "IMAGE_POSITION" => "left", "INCLUDE_IBLOCK_INTO_CHAIN" => "Y", "LIST_ACTIVE_DATE_FORMAT" => "d.m.Y", "LIST_FIELD_CODE" => array("NAME","PREVIEW_TEXT","PREVIEW_PICTURE",""), "LIST_PROPERTY_CODE" => array("",""), "MESSAGE_404" => "", "META_DESCRIPTION" => "-", "META_KEYWORDS" => "-", "NEWS_COUNT" => "20", "PAGER_BASE_LINK_ENABLE" => "N", "PAGER_DESC_NUMBERING" => "N", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "N", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TEMPLATE" => ".default", "PAGER_TITLE" => "Новости", "PREVIEW_TRUNCATE_LEN" => "", "SEF_FOLDER" => "/rpcalendar/", "SEF_MODE" => "Y", "SEF_URL_TEMPLATES" => Array("detail"=>"#SECTION_CODE_PATH#/#ELEMENT_CODE#/","news"=>"","section"=>"#SECTION_CODE_PATH#/"), "SET_LAST_MODIFIED" => "N", "SET_STATUS_404" => "N", "SET_TITLE" => "Y", "SHOW_404" => "N", "SORT_BY1" => "SORT", "SORT_BY2" => "ID", "SORT_ORDER1" => "ASC", "SORT_ORDER2" => "ASC", "STRICT_SECTION_CHECK" => "N", "USE_CATEGORIES" => "N", "USE_FILTER" => "Y", "USE_PERMISSIONS" => "N", "USE_RATING" => "N", "USE_RSS" => "N", "USE_SEARCH" => "N", "USE_SHARE" => "N" ) );?><br><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |
В файле .left.menu_ext.php следующее содержимое:
Код |
---|
<?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_content"]["aspro_allcorp_reporting_calendar"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_content"]["aspro_allcorp_reporting_calendar"][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_content"]["aspro_allcorp_reporting_calendar"][0]), "MULTI" => "Y")), array("IBLOCK_ID" => CCache::$arIBlocks[SITE_ID]["aspro_allcorp_content"]["aspro_allcorp_reporting_calendar"][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); } ?> |
ну и третий файл .section.php как и в первом варианте идентичен.
Понимаю, что что-то явно упускаю из внимания, но прошу прощения очень редко имею дело с Битриксом. Постарался объяснит как можно подробнее. Как смог
Если сможете помочь в понимании ошибки буду очень признателен.