Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

bitrix:menu , магазин, узнать url картинки раздела

00 голосов
3
Всех приветствую!
Надеюсь, что я не повторю чей либо вопрос (я ответа не нашёл).

Мне нужно в компоненте bitrix:menu в шаблоне узнать url к картинке раздела из каталога. В $arItem['PARAMS'] и ['ADDITIONAL_LINKS'] к сожалению требуемого мне не нашлось.
(В апи тоже не сумел найти нужного =( )

Надеюсь на скорейший ответ, заранее благодарствую.

P.S. Если возможно то ответ бы хотелось не слишком сложный или хорошо откоментированный , тк всего 5 дней назад я с битриксом вообще не работал, и боюсь получить переполнение обучалки))).
спросил 25 Ноя, 13 от Phoexidia (100 баллов)

3 Ответы

00 голосов
Правильно ли я понял, раздел каталога - это раздел каталога в инфоблоке? Если так..
Как нужно определять, из какого раздела каталога нужно получить картинку?
Чтобы из меню получить картинку раздела, нужно использовать API модуля "Инфоблоки":

Код
if (is_numeric($_GET["SECTION_ID"]) && CModule::IncludeModule("iblock")) {
   $resSection = CIBlockSection::GetList(false, array("IBLOCK_ID"=>1,"ID"=>$_GET["SECTION_ID"]));
   if ($Section = $resSection->GetNext()) {
      $arPicture = CFile::GetFileArray($Section["PICTURE"]);
      $URL = $arPicture["SRC"];
   }
}


Код не проверял, но должен работать.

Для простоты можно этот код разместить и в шаблоне, но правильнее - в файле result_modifier.php (файл для доработки данных, выводимых в шаблоне), который должен находиться рядом с template.php.
ответил 18 Янв, 14 от SleepLess (1,220 баллов)
00 голосов
Извиняюсь, что не очень понятно изложил свою задачу-проблему.
Думаю так будет понятнее:
Сейчас я имею меню в таком виде - Рисунок (У каждого пункта бабочка-картинка)
где разделы из Рабочий стол->Контент->Каталоги->Продукция
Рисунок

У каждого раздела может быть задана картинка Рисунок
Я посчитал что самым простым для будущего администратора сайта (возможно являющего максимум продвинутым пользователем) было бы загружать туда картинку которая в последствии отображалась бы напротив пункта в меню.

Соответственно это моя задача и моё же решение. Решение может быть корявым, поэтому если есть другое более эффективное, то оно мне подойдёт.

Проблема же выбранного мной решения что из файла шаблона компонента bitrix:menu не получается получить адрес этой картинки, нигде в полях $arItem(в котором хранится в цикле текущий пункт меню) его нет.
Насколько я понял подобные данные не передаются и в $arResult .

Если я что-либо неправильно объяснил, то прошу меня простить и дать скидку как новичку в этой cms . ;)
ответил 06 Май, 14 от Phoexidia (100 баллов)
00 голосов
Думаю, я Вас правильно понял, мое решение подойдет к Вашей задаче.
Никакие сведения о разделе в компонент bitrix:menu не передаются, Вам нужно все делать самостоятельно, как я описал. В итоге в переменной $URL будет нужный адрес картинки.
ответил 31 Авг, 14 от SleepLess (1,220 баллов)

Похожие вопросы

0 голосов
8 ответов
спросил 30 Июнь, 13 от asderte (260 баллов)
0 голосов
5 ответов
спросил 23 Янв, 14 от Kiriel (2,010 баллов)
0 голосов
4 ответов
спросил 18 Ноя, 13 от BAPKAH (100 баллов)
0 голосов
6 ответов
спросил 27 Сен, 13 от Rier (340 баллов)