Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/92: Рейтинг темы: голосов - 92, средняя оценка - 4.85
realmen80
2 / 2 / 0
Регистрация: 14.11.2012
Сообщений: 83
1

Как вывести разделы торгового каталога в левое меню?

02.06.2014, 13:50. Просмотров 17614. Ответов 14
Метки нет (Все метки)

Создал в админке в Типе инфоблоков/Каталог новый инфоблок. Он появился в "Каталогах". В нем добавил раздел, подразделы и добавил пару тестовых товаров. Через режим правки зашел на страницу http://111.ru/catalog/ и через визуальный редактор добавил компонент "Каталог". На этой странице появились разделы каталога и товары. А как я могу вывести все пункты созданного мной каталога в левое меню сайта? Чтобы было такое же меню, как после установки 1с Битрикс Интернет-магазина (см. скриншот).
Как вывести разделы торгового каталога в левое меню?

Заранее благодарен
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 13:50
Ответы с готовыми решениями:

Как создать левое вертикальное двухуровнее меню?
Как создать левое вертикальное двухуровнее меню?

Вывод топ элементов торгового каталога
Добрый вечер. Имеется компонент "eshop.catalog.top". Все его элементы выводятся в столбик по 1...

Левое меню
Всем привет! Такая проблема, нужно создать левое меню за основу берется стандартный шаблон...

Левое меню
Доброго времени суток! С битрикс только начала знакомиться, сайт готовый. В левом меню...

14
beats
100 / 41 / 9
Регистрация: 09.12.2012
Сообщений: 592
02.06.2014, 21:31 2
возможно отталкиватся от этого http://aposnov.ru/вывести-названиеимя-раздела-в-битрик/
0
realmen80
2 / 2 / 0
Регистрация: 14.11.2012
Сообщений: 83
03.06.2014, 11:02  [ТС] 3
Это не то...
0
dolte
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
03.06.2014, 15:30 4
1) Зайти в панель администрирования сайтом →Настройки→Настройки продукта→Настройки модуля→Управление структурой»
2) Далее в поле "Типы меню" - добавляете тип меню, например, catalog
3) Cоздаете файл типа .catalog.menu.php, где catalog — наименование вашего меню. После чего загружаете данный файл в корень вашего сайта (если меню создается для главной), либо в необходимый раздел (если - для раздела).
Содержимое файла catalog.menu.php :
PHP
1
2
3
4
<?
$aMenuLinks = Array(
);
?>
4) По такому же принципу, как описано в 3 пункте, создаете файл .catalog.menu_ext.php и загружаете его на сайт
Содержимое файла catalog.menu_ext.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
 
   $aMenuLinksExt=$APPLICATION->IncludeComponent("bitrix:menu.sections", "", array(
   "IS_SEF" => "Y",
   "SEF_BASE_URL" => "/catalog/",
   "SECTION_PAGE_URL" => "#SECTION_CODE#/",
   "DETAIL_PAGE_URL" => "#SECTION_CODE#/#ELEMENT_CODE#",
   "IBLOCK_TYPE" => "catalog",
   "IBLOCK_ID" => "ID", // ID - id вашего инфоблока
   "DEPTH_LEVEL" => "4",
   "CACHE_TYPE" => "A",
   "CACHE_TIME" => "0",
   "CACHE_TYPE" => "A",
   "CACHE_TIME" => "3600"
   ),
false
);
$aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt);
?>
5) После этого для размещения компонента многоуровневого меню из разделов инфоблока в нужном месте шаблона сайта, вам необходимо использовать следующий код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?$APPLICATION->IncludeComponent("bitrix:menu", "tree", array(
   "ROOT_MENU_TYPE" => "catalog",
   "MENU_CACHE_TYPE" => "A",
   "MENU_CACHE_TIME" => "3600",
   "MENU_CACHE_USE_GROUPS" => "Y",
   "MENU_CACHE_GET_VARS" => array(
   ),
   "MAX_LEVEL" => "4",
   "CHILD_MENU_TYPE" => "catalog",
   "USE_EXT" => "Y",
   "DELAY" => "N",
   "ALLOW_MULTI_SELECT" => "N"
   ),
   false
);?>
1
realmen80
2 / 2 / 0
Регистрация: 14.11.2012
Сообщений: 83
03.06.2014, 16:59  [ТС] 5
dolte, огромное спасибо. Все получилось. Меню появилось!

Теперь возник вопрос, как сделать чтобы в моем меню также начали выводиться текст и фото, как на сайте после установки Битрикса (см. скриншот).
Так на сайте:
Как вывести разделы торгового каталога в левое меню?

Так в админке:
Как вывести разделы торгового каталога в левое меню?


У меня в каталоге в настройках раздела тоже добавлена картинка и текст, но на сайте не появляются в меню.... В чем может быть причина?
0
dolte
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
03.06.2014, 17:00 6
Тем-же стандартным шаблоном выводите ?
0
realmen80
2 / 2 / 0
Регистрация: 14.11.2012
Сообщений: 83
03.06.2014, 17:04  [ТС] 7
Шаблон компонента, что в моем меню что в меню, которое после установки - такой же.
Отличается только "Тип меню для первого уровня" - У меня это "Каталог", а в том что на сайте меню - Левое меню.
0
dolte
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
03.06.2014, 17:07 8
realmen80, выложите код шаблона.
0
realmen80
2 / 2 / 0
Регистрация: 14.11.2012
Сообщений: 83
03.06.2014, 17:33  [ТС] 9
Вот такой код:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
 
if (empty($arResult["ALL_ITEMS"]))
    return;
 
if (file_exists($_SERVER["DOCUMENT_ROOT"].$this->GetFolder().'/themes/'.$arParams["MENU_THEME"].'/colors.css'))
    $APPLICATION->SetAdditionalCSS($this->GetFolder().'/themes/'.$arParams["MENU_THEME"].'/colors.css');
 
$menuBlockId = "catalog_menu_".$this->randString();
?>
<div class="bx_vertical_menu_advanced bx_<?=$arParams["MENU_THEME"]?>" id="<?=$menuBlockId?>">
    <ul id="ul_<?=$menuBlockId?>">
    <?foreach($arResult["MENU_STRUCTURE"] as $itemID => $arColumns):?>     <!-- first level-->
        <?$existPictureDescColomn = ($arResult["ALL_ITEMS"][$itemID]["PARAMS"]["picture_src"] || $arResult["ALL_ITEMS"][$itemID]["PARAMS"]["description"]) ? true : false;?>
        <li onmouseover="BX.CatalogVertMenu.itemOver(this);" onmouseout="BX.CatalogVertMenu.itemOut(this)" class="bx_hma_one_lvl <?if($arResult["ALL_ITEMS"][$itemID]["SELECTED"]):?>current<?endif?><?if (is_array($arColumns) && count($arColumns) > 0):?> dropdown<?endif?>">
            <a href="<?=$arResult["ALL_ITEMS"][$itemID]["LINK"]?>" data-description="<?=$arResult["ALL_ITEMS"][$itemID]["PARAMS"]["description"]?>" <?if (is_array($arColumns) && count($arColumns) > 0 && $existPictureDescColomn):?>onmouseover="menuVertCatalogChangeSectionPicure(this);"<?endif?>>
                <?=$arResult["ALL_ITEMS"][$itemID]["TEXT"]?>
                <span class="bx_shadow_fix"></span>
            </a>
        <?if (is_array($arColumns) && count($arColumns) > 0):?>
            <span class="bx_children_advanced_panel">
                <img src="<?=$arResult["ALL_ITEMS"][$itemID]["PARAMS"]["picture_src"]?>" alt="">
            </span>
            <div class="bx_children_container b<?=($existPictureDescColomn) ? count($arColumns)+1 : count($arColumns)?>">
                <?foreach($arColumns as $key=>$arRow):?>
                <div class="bx_children_block">
                    <ul>
                    <?foreach($arRow as $itemIdLevel_2=>$arLevel_3):?>  <!-- second level-->
                        <li class="parent">
                            <a href="<?=$arResult["ALL_ITEMS"][$itemIdLevel_2]["LINK"]?>" <?if ($existPictureDescColomn):?>ontouchstart="document.location.href = '<?=$arResult["ALL_ITEMS"][$itemIdLevel_2]["LINK"]?>';" onmouseover="menuVertCatalogChangeSectionPicure(this);"<?endif?> data-picture="<?=$arResult["ALL_ITEMS"][$itemIdLevel_2]["PARAMS"]["picture_src"]?>" data-description="<?=$arResult["ALL_ITEMS"][$itemIdLevel_2]["PARAMS"]["description"]?>">
                                <?=$arResult["ALL_ITEMS"][$itemIdLevel_2]["TEXT"]?>
                            </a>
                            <span class="bx_children_advanced_panel">
                                <img src="<?=$arResult["ALL_ITEMS"][$itemIdLevel_2]["PARAMS"]["picture_src"]?>" alt="">
                            </span>
                        <?if (is_array($arLevel_3) && count($arLevel_3) > 0):?>
                            <ul>
                            <?foreach($arLevel_3 as $itemIdLevel_3):?>  <!-- third level-->
                                <li>
                                    <a href="<?=$arResult["ALL_ITEMS"][$itemIdLevel_3]["LINK"]?>" <?if ($existPictureDescColomn):?>ontouchstart="document.location.href = '<?=$arResult["ALL_ITEMS"][$itemIdLevel_2]["LINK"]?>';return false;" onmouseover="menuVertCatalogChangeSectionPicure(this);return false;"<?endif?> data-picture="<?=$arResult["ALL_ITEMS"][$itemIdLevel_3]["PARAMS"]["picture_src"]?>" data-description="<?=$arResult["ALL_ITEMS"][$itemIdLevel_3]["PARAMS"]["description"]?>"><?=$arResult["ALL_ITEMS"][$itemIdLevel_3]["TEXT"]?></a>
                                    <span class="bx_children_advanced_panel">
                                        <img src="<?=$arResult["ALL_ITEMS"][$itemIdLevel_3]["PARAMS"]["picture_src"]?>" alt="">
                                    </span>
                                </li>
                            <?endforeach;?>
                            </ul>
                        <?endif?>
                        </li>
                    <?endforeach;?>
                    </ul>
                </div>
                <?endforeach;?>
                <?if ($existPictureDescColomn):?>
                <div class="bx_children_block advanced">
                    <div class="bx_children_advanced_panel">
                        <span class="bx_children_advanced_panel">
                            <a href="<?=$arResult["ALL_ITEMS"][$itemID]["LINK"]?>"><span class="bx_section_picture">
                                <img src="<?=$arResult["ALL_ITEMS"][$itemID]["PARAMS"]["picture_src"]?>"  alt="">
                            </span></a>
                            <img src="<?=$this->GetFolder()?>/images/spacer.png" alt="" style="border: none;">
                            <strong style="display:block" class="bx_item_title"><?=$arResult["ALL_ITEMS"][$itemID]["TEXT"]?></strong>
                            <p class="bx_section_description bx_item_description"><?=$arResult["ALL_ITEMS"][$itemID]["PARAMS"]["description"]?></p>
                        </span>
                    </div>
                </div>
                <?endif?>
                <div style="clear: both;"></div>
            </div>
        <?endif?>
        </li>
    <?endforeach;?>
    </ul>
    <div style="clear: both;"></div>
</div>
0
dolte
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
03.06.2014, 17:37 10
Посмотрие что вам вернет $arResult["ALL_ITEMS"]
можно после 13 строки вставить
PHP/HTML
1
2
3
<pre>
<? print_r($arResult["ALL_ITEMS"]); ?>
</pre>
0
realmen80
2 / 2 / 0
Регистрация: 14.11.2012
Сообщений: 83
03.06.2014, 17:41  [ТС] 11
Вернуло километровый код. Привожу только его начало:
Код
Array
(
    [2481280243] => Array
        (
            [TEXT] => Обувь
            [LINK] => /catalog/shoes/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/shoes/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 0
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 1
                    [DEPTH_LEVEL] => 1
                    [item_id] => 2481280243
                    [picture_src] => /upload/resize_cache/iblock/d2e/240_700_1/d2e85b273f7cee7dfd78f2924dac9083.jpg
                    [description] => Сложно представить себе элементы гардероба современного человека, которые выбирались бы более тщательно и основательно, чем обувь. Это больше, чем просто стильный аксессуар: ботинки, сапоги, туфли и другие модели выполняют очень важную функцию – они отвечают за комфорт, а иногда и за здоровье ног.

					

				
                )

            [DEPTH_LEVEL] => 1
            [IS_PARENT] => 1
        )

    [3218171888] => Array
        (
            [TEXT] => Пантолеты
            [LINK] => /catalog/pantolety/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/pantolety/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 1
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 
                    [DEPTH_LEVEL] => 2
                    [item_id] => 3218171888
                    [picture_src] => /upload/resize_cache/iblock/443/240_700_1/443800f5c1c975000d75a5af8f5cd0a4.jpg
                    [description] => Женские пантолеты – обувь, которая только с виду кажется непрактичной и простой. На самом деле, эти легкие и изящные шлепанцы универсальны: современные девушки все чаще выбирают их не только в качестве пляжной обуви, но и как удобный вариант на каждый день. Конечно, такая обувь в рамках офисного образа вряд ли станет удачным решением, однако в остальном у представительниц прекрасного пола – абсолютная свобода выбора.

							

						
                )

            [DEPTH_LEVEL] => 2
            [IS_PARENT] => 
        )

    [3108658076] => Array
        (
            [TEXT] => Тапочки
            [LINK] => /catalog/slippers/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/slippers/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 2
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 
                    [DEPTH_LEVEL] => 2
                    [item_id] => 3108658076
                    [picture_src] => /upload/resize_cache/iblock/888/240_700_1/88870f64109cb563b3d4ba1ea3baa4b2.jpg
                    [description] => Яркие, удобные женские и мужские тапочки: для домашнего уюта и полноценного отдыха. Эта обувь помогает расслабиться после тяжелого и напряженного дня.
							


							Так приятно, придя домой, сменить тесные туфли или туфли на высоком каблуке на комфортные тапочки.
							


                )

            [DEPTH_LEVEL] => 2
            [IS_PARENT] => 
        )

    [1274709630] => Array
        (
            [TEXT] => Туфли
            [LINK] => /catalog/shoess/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/shoess/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 3
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 1
                    [DEPTH_LEVEL] => 2
                    [item_id] => 1274709630
                    [picture_src] => /upload/resize_cache/iblock/d2e/240_700_1/d2e85b273f7cee7dfd78f2924dac9083.jpg
                    [description] => 

							

						
                )

            [DEPTH_LEVEL] => 2
            [IS_PARENT] => 1
        )

    [1307219881] => Array
        (
            [TEXT] =>  Туфли Женские
            [LINK] => /catalog/women-s-shoes/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/women-s-shoes/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 4
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 
                    [DEPTH_LEVEL] => 3
                    [item_id] => 1307219881
                    [picture_src] => /upload/resize_cache/iblock/5e3/240_700_1/5e3630a55cfd1427dbfae4a1679ba0e4.jpg
                    [description] => Считается, что женские туфли – это своеобразный «индикатор» наличия у девушки вкуса. Неправильно выбранная обувь может свести на нет все усилия по составлению эффектного и стильного образа. В то время как удачно выбранные женские туфли станут ярким акцентом даже самого скромного ансамбля.
                )

            [DEPTH_LEVEL] => 3
            [IS_PARENT] => 
        )

    [3045354103] => Array
        (
            [TEXT] => Туфли Мужские
            [LINK] => /catalog/shoes-mens/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/shoes-mens/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 5
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 
                    [DEPTH_LEVEL] => 3
                    [item_id] => 3045354103
                    [picture_src] => /upload/resize_cache/iblock/d69/240_700_1/d69e685957bfbfbce9fc4e2c319159c7.jpg
                    [description] => Мужская обувь, предлагаемая современными брендами представителям сильного пола, невероятно разнообразна. Касается это не только огромного количества всевозможных форм, но и различных стилевых отличий. Дело в том, что сегодня стало невероятно популярным смешение различных направлений и стилей, поэтому иногда даже в самых строгих ботинках можно найти легкие спортивные нотки.

								
                )

            [DEPTH_LEVEL] => 3
            [IS_PARENT] => 
        )

    [996868869] => Array
        (
            [TEXT] => Платья
            [LINK] => /catalog/dresses/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/dresses/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 6
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 
                    [DEPTH_LEVEL] => 1
                    [item_id] => 996868869
                    [picture_src] => 
                    [description] => 
                )

            [DEPTH_LEVEL] => 1
            [IS_PARENT] => 
        )

    [3174689294] => Array
        (
            [TEXT] => Штаны
            [LINK] => /catalog/pants/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/pants/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 7
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 
                    [DEPTH_LEVEL] => 1
                    [item_id] => 3174689294
                    [picture_src] => 
                    [description] => 
                )

            [DEPTH_LEVEL] => 1
            [IS_PARENT] => 
        )

    [2269767505] => Array
        (
            [TEXT] => Нижнее белье
            [LINK] => /catalog/underwear/
            [SELECTED] => 
            [PERMISSION] => X
            [ADDITIONAL_LINKS] => Array
                (
                    [0] => /catalog/underwear/
                )

            [ITEM_TYPE] => D
            [ITEM_INDEX] => 8
            [PARAMS] => Array
                (
                    [FROM_IBLOCK] => 1
                    [IS_PARENT] => 
                    [DEPTH_LEVEL] => 1
                    [item_id] => 2269767505
                    [picture_src] => 
                    [description] =>
0
Kibertop
0 / 0 / 0
Регистрация: 17.03.2016
Сообщений: 3
26.03.2016, 14:30 12
Надеюсь кто ответит.
Создал меню по данному примеру, подключил к импортированому ново-созданному инфоблоку, получил меню подходящего списка но при переходе по пунктам пишет нет страницы или каталог не ненайден.
Куда копать, что я мог забыть сделать?
0
voral
1043 / 773 / 165
Регистрация: 16.03.2008
Сообщений: 3,610
Записей в блоге: 1
26.03.2016, 15:14 13
Kibertop, полагаю вы включии использование ЧПУ, но как-то коряво настроили шаблоны УРЛов... Проверьте их в настройка ИБ и компоненты...
1
Kibertop
0 / 0 / 0
Регистрация: 17.03.2016
Сообщений: 3
26.03.2016, 18:33 14
Перепробовал все варианты по урлам, проверил компонент вроде все норма.
Может не так объяснил.
Есть новый сайт с шаблонам, делал выгрузку и через 1с и иксмл в демо каталог (поскольку с ним все работало, и урлы поправлял в ИБ), но новые разделы не хотят показывать содержимое, только структуру посредством построения нужного меню.
В какой части вести раскопки???
З.Ы. Если создать страницу с новым пунктом меню и к ней прикрутить компонент каталог то можно посмотреть товары но нету возможности вывести пункты на подкатегории в меню. Уже начинаю жалеть о знакомстве с битрикс
0
Kibertop
0 / 0 / 0
Регистрация: 17.03.2016
Сообщений: 3
28.03.2016, 11:55 15
voral, Большое спасибо за подсказки проблема оказалась проще чем думал, клавиатура ставила два слеша в шаблоне урлов и ЧПУ начинал путаться, еще раз говорит о моей не внимательности.
Теперь буду пытаться привинтить показ картинок как в шаблоне.
0
28.03.2016, 11:55
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2016, 11:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как скрыть пустые разделы в меню битрикс?
Меню вывожу так &lt;?$APPLICATION-&gt;IncludeComponent( &quot;bitrix:menu&quot;, &quot;vertical_multilevel&quot;,...

Левое двухуровневое меню
Помогите с меню. Требуется создать меню следующего вида: - пункт 1 - подпункт 1.1 -...

Изменить левое меню
Люди подскажите пожалуйтса, левое меню генерируется само по умолчанию, и оно имеет развернутый вид,...

Восстановить скрытое левое меню
Приветствую! Ситуация такая: по ошибке нажали &quot;Отключить компонент&quot; для левого меню на одной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.