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

Вывод случайных картинок из каталога

00 голосов
4
Добрый вечер\день! недавно начал разбираться с цмской.. но все никак не пойму логику модуля.. стоит следующая задача: есть интернет-магазин, на основе примере "с выгрузкой из 1с", вот к нему надо сделать модуль, чтоб выводилось 5 случайных (или с определенной сортировкой) картинок из каталога. Смотрел модуль из примера, который выводит 5 картинок из фотогалереи.. пока не пойму связи :) подскажите, как можно реализовать данный функционал.. может кто сталкивался :)

и еще вопрос не по теме.. :) может тоже кто сталкивался.. так вот.. при выводе стоимости товара, идет разделение цифр по 3 в блоке.. т.е. если 1500 руб, то разделяет на 1 500 руб ... подскажите, а можно где-нибудь настроить это разделение? например, вместо пробела ставить "-"... да и еще у меня выводится вместо пробела какой-то "левый" символ.. в браузере отображается вопросом..
спросил 17 Янв, 14 от Lata (220 баллов)

4 Ответы

00 голосов
Цитата
Александр пишет:
выводилось 5 случайных (или с определенной сортировкой) картинок из каталога

Как-то так:
Код
$arOrder = array('RAND' => 'ASC');  // вывод в случайном порядке
$arFilter = array(
    'IBLOCK_ID' => 42,  // из инфоблока с ID = 42
    'ACTIVE' => 'Y',   // только активные
    'ACTIVE_DATE' => 'Y', // не просроченные
    '!DETAIL_PICTURE' => false, // с детальной картинкой
);
$arNavStartParams = array('nTopCount' => 5);  // первые пять
$arSelect = array('DETAIL_PICTURE');  // запрашиваем только детальную картинку
$res = CIBlockElement::GetList($arOrder, $arFilter, false, $arNavStartParams, $arSelect);
while ($arItem = $res->GetNext())
{
     // тут обработка поля DETAIL_PICTURE
}


Цитата
Александр пишет:
подскажите, а можно где-нибудь настроить это разделение

Админка -> Настройки -> Валюты -> Список валют -> выбрать валюту, поле "Разделитель тысяч при выводе"
ответил 06 Май, 14 от Ly (4,580 баллов)
00 голосов
большое спасибо за помощь!.. с утра попробую!))))
ответил 01 Сен, 14 от Lata (220 баллов)
00 голосов
попробовал сделать так... но почему-то выводит только 1 элемент 5 раз....
Код
$arOrder = array('RAND' => 'ASC');  // вывод в случайном порядке
$arFilter = array(
    'IBLOCK_ID' => 8,  // из инфоблока с ID = 42
    'ACTIVE' => 'Y',   // только активные
    'ACTIVE_DATE' => 'Y', // не просроченные
    '!DETAIL_PICTURE' => false, // с детальной картинкой
);
$arNavStartParams = array('nTopCount' => 5);  // первые пять
$arSelect = array('DETAIL_PICTURE');  // запрашиваем только детальную картинку
$res = CIBlockElement::GetList($arOrder, $arFilter, false, $arNavStartParams, $arSelect);
while ($arItem = $res->GetNext())
{
     <div ><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["PREVIEW_PICTURE"]["ALT"]?>" title="<?=$arElement["NAME"]?>" /></a></div>
}
ответил 07 Янв, 15 от Lata (220 баллов)
00 голосов
Вы не сможете разобраться в том, как это работает, если будете бездумно копировать куски кода из разных мест.

Возьмите штатную компоненту bitrix:news.list, сделайте сортировку по rand и поправьте шаблон. Это решит вашу задачу.
ответил 25 Апр, 15 от Ly (4,580 баллов)

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

0 голосов
1 ответ
спросил 22 Март, 13 от guk (360 баллов)
0 голосов
2 ответов
спросил 30 Апр, 14 от DARK (220 баллов)
0 голосов
1 ответ
0 голосов
1 ответ
спросил 19 Июль, 15 от mich802 (220 баллов)
0 голосов
2 ответов
спросил 21 Ноя, 13 от SoNjA (100 баллов)