
svetlana
19.08.2016
18:32:00
Я с каталогами так давно работала, нифига не помню )

Дмитрий
19.08.2016
18:32:23
У меня на главной компонент catalog.section отдельно выводит последние добавленные элементы с ajax фильтром
domrazbora.ru

Бернгардт
19.08.2016
18:33:56
речь о главной? т.е. когда секция не задана, а задан фильтр?
название какой секции тогда ожидаешь?

Google

svetlana
19.08.2016
18:34:22
Я так понимаю после фильтра надо

Дмитрий
19.08.2016
18:34:58
У каждого элемента вывести раздел в котором находиься

Бернгардт
19.08.2016
18:35:06
http://domrazbora.ru/catalog/bmw/x6/vnutryanka/rychag-bmw/
вот я внутри каталога, в одной из секций - название секции вполне есть
у каждого элемента - это надо запрашивать для каждого элемента
код там чуть хитрее, чтоб количество запросов не было равно количеству элементов
но запрашивать по факту индивидуально
в вывод на item запросить section_id, группировать их, и делать запрос по апи, после чего "солить" $arResult[ITEMS]
готовой настройки тут нет

Дмитрий
19.08.2016
18:37:03
Ну вот как пример на главной ниже выводится раздел "машины в разборе", но там через news.list

Бернгардт
19.08.2016
18:37:42
ага, вот там arResult и глянь, он слегка "подправлен"
ой, result_modifier глянь на этот шаблон
ладно, пора валить из офиса, адью ребяты

Дмитрий
19.08.2016
18:39:28
Адью

Rustam
19.08.2016
18:39:30
<?foreach($arResult["ITEMS"] as &$arItem):?>
<?
$res = CIBlockSection::GetByID($arItem["IBLOCK_SECTION_ID"]);
if($ar_res = $res->GetNext())
$arItem["SECTION_URL"] = "<a href=".$ar_res[SECTION_PAGE_URL].">".$ar_res["NAME"]."</a>";
?>
<?endforeach;?>
поможет если скажи

Google

Бернгардт
19.08.2016
18:42:10
Гавеный код, но идея верная

Rustam
19.08.2016
18:42:47
<?echo $arItem["SECTION_URL"]?> это просто вывести в шаблоне уже

Юрий
19.08.2016
18:43:00
Запросы в цикле хреновая идея

Rustam
19.08.2016
18:43:31
да мне кажется другого быть и не может. Подскажите конечно, вдруг я не правильно все делаю.

Юрий
19.08.2016
18:44:11
Собрать ID секций в массив и сделать один getlist c фильтром ID => этот_массив

Rustam
19.08.2016
18:44:53
Хм, есть что-то в этом. Спасибо!

Бернгардт
19.08.2016
18:45:56
За запросы в цикле обычно табуреткой бьют. Сегодня там два товаров, завтра 200

Дмитрий
19.08.2016
18:48:16
Все равно не выводит
С этим кодом

Бернгардт
19.08.2016
18:49:53
А в шаблоне вывод сделал?

Дмитрий
19.08.2016
18:50:19
Я в шаблон это вставил

Rustam
19.08.2016
18:50:20
CIBlockSection::GetMixedList может это проще?
что я дал, как говорят не верное, у меня блог маленький, мне проще

Дмитрий
19.08.2016
18:51:13
Я сейчас вывел на главной arItem
<pre>

Rustam
19.08.2016
18:52:22

svetlana
19.08.2016
18:56:39
* стучусь головой ап стену
Пойду ка я отсюда чтобы не травмировать нежную психику

Бернгардт
19.08.2016
18:57:45
Зачем микседлист? Там обычно за глаза

Rustam
19.08.2016
18:58:56
да без компонента все = ) Всяко можно

Google

Бернгардт
19.08.2016
18:59:25
можно, но зачем?

Rustam
19.08.2016
19:00:52
ок, может так
не то, сейчас

Бернгардт
19.08.2016
19:05:19
вот, идеально на мой взгляд
<?
$arSectionIds = array();
foreach($arResult['ITEMS'] as $arItem) {
$arSectionIds[$arItem['IBLOCK_SECTION_ID']] = null;
}
$arSections = array();
$arSelect = array("ID", "NAME", "DETAIL_SECTION_URL")
$arFilter = Array('IBLOCK_ID'=>$arParams['IBLOCK_ID'], "ID" => array_values($arSectionIds));
$resSection = CIBlockSection::GetList(array(), $arFilter, false, $arSelect);
while($arSection = $resSection->GetNext()) {
$arSections[$arSection["ID"]] = $arSection;
}
foreach($arResult['ITEMS'] as &$arItem) {
$arItem['SECTION'] = (array_key_exists($arItem['IBLOCK_SECTION_ID'], $arSections))
? $arSections[$arItem['IBLOCK_SECTION_ID']]
: false;
}
unset($arItem, $arSections, $arSectionIds);
кидал от руки, мог ошибиться
http://pastebin.com/DXV2aY4U


Дмитрий
19.08.2016
19:06:40
Вот так решил вопрос: <?
if($arResult['ITEMS']){
foreach($arResult['ITEMS'] as $i => $arItem){
$arGoodsSectionsIDs[] = $arItem["IBLOCK_SECTION_ID"];
}
// get good`s section name
if($arGoodsSectionsIDs){
$arGoodsSectionsIDs = array_unique($arGoodsSectionsIDs);
$arGoodsSections = CCache::CIBLockSection_GetList(array('CACHE' => array('TAG' => CCache::GetIBlockCacheTag($arParams['IBLOCK_ID']), 'GROUP' => array('ID'), 'MULTI' => 'N', 'RESULT' => array('NAME'))), array('ID' => $arGoodSectionsIDs), false, array('ID', 'NAME'));
if($arGoodsSections){
foreach($arResult['ITEMS'] as $i => $arItem){
$arResult['ITEMS'][$i]['SECTION_NAME'] = $arGoodsSections[$arItem["IBLOCK_SECTION_ID"]];
}
}
}
}
?>

Бернгардт
19.08.2016
19:06:49
в result_modifier.php размещаем и спокойно собираем в темлейте из $arItem[SECTION]

Дмитрий
19.08.2016
19:07:21
И вывод <?=$arItem['SECTION_NAME']?>

Бернгардт
19.08.2016
19:07:23
в твоем примере дубликаты будут ID секций, апи пережует конечно..
но некрасиво слегка
зачем тут кеш, если в result_modifier.. хм..
ладно.. не лезу

Дмитрий
19.08.2016
19:10:49
А что он в resultmod не работает?

Бернгардт
19.08.2016
19:11:50
А кто сказал что в этом ключе у тебя название?
Или что именно не работает?

Дмитрий
19.08.2016
19:13:19
Все работает и выводиься

svetlana
19.08.2016
19:25:02
Поэтому айдишки записывают в ключи массива, чтобы не было двойников, а значениями записывают нулл. Затем айдишки получают функцией array_keys

Admin
ERROR: S client not available

svetlana
19.08.2016
19:25:17
С точки зрения производительности
Учите пхп

Google

svetlana
19.08.2016
19:26:19
Битрикс битриксом но чуть поглубже и начинаются перлы

Бернгардт
19.08.2016
19:28:49
Ну да,в этой задаче битрикса нет

svetlana
19.08.2016
19:29:36
Ой а у нас главная 12 секунд грузится
Или ой а у нас стопицот запросов это нормально?

Dmitriy
19.08.2016
19:50:34
Привет

Илья
19.08.2016
19:51:10
привет

Дмитрий
19.08.2016
19:51:16
Привет

Бернгардт
19.08.2016
20:50:00
привет-привет)

Илья
20.08.2016
07:41:17
Добрый)

Трофимов
20.08.2016
07:42:10
че не спим?

Ivan
20.08.2016
07:42:50
По выставкам ходим

Илья
20.08.2016
07:43:16

Ivan
20.08.2016
07:43:39
Под храмом Христа спасителя

svetlana
20.08.2016
07:44:11
в чате продолжается пятничное настроение?

Илья
20.08.2016
07:44:24

svetlana
20.08.2016
07:44:30
ну и хорошо

Ivan
20.08.2016
07:44:43
Там галерея искусств

svetlana
20.08.2016
07:44:46
а то я с утра чего то злая

Илья
20.08.2016
07:45:00

svetlana
20.08.2016
07:45:53
та не, я не про вчера, я про то, что вчера нафлудились, сегодня хочется за такое убивать =))

Google

Дмитрий
20.08.2016
07:56:31
Правильно ))