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

Работа с инфоблоком

00 голосов
9
Подскажите пожалуйста, как вывести информацию из инфоблока в своём формате, т.е. использую
компонент "Каталог", и при нажатии на товар он выводит детальную информацию, так вот, как
её вывести в нужном формате? Простите за масло-масленое.

Есть ли возможность в поле "подробно" элемента, получить доступ к свойствам этого же элемента?
Если например есть свойство "Имя", указать его в поле подробно.
спросил 24 Май, 13 от BlakCat (280 баллов)

9 Ответы

00 голосов
Копируете шаблон комопонента к себе и делаете там, что угодно. В документации смотрите раздел "Компоненты 2.0"
ответил 24 Май, 13 от Pomnep (13,960 баллов)
00 голосов
Может есть способ лучше, не ужели ни кто не знает?
Хотелось бы просто достать из элемента все свойства. Получил элемент по индексу, единственное
адекватное свойство это "NAME", а где список параметров элементов и их значения?
ответил 25 Май, 13 от BlakCat (280 баллов)
00 голосов
Любой способ - все равно лучше начинать с того, что скопировать к себе шаблон.
Потому что в стандартном шаблоне при очередном обновлении все сделанные изменения могут потереться.
Скопируйте шаблон компонента, например, в папку с шаблоном сайта и там добавьте вывод нужных вам параметров.
ответил 17 Авг, 13 от ESLIBIA (260 баллов)
00 голосов
Код
***********
КАРТИНКА АНОНСА
**********
<?if(is_array($arResult["PREVIEW_PICTURE"]) || is_array($arResult["DETAIL_PICTURE"])):?>

            <?if(is_array($arResult["PREVIEW_PICTURE"]) && is_array($arResult["DETAIL_PICTURE"])):?>
               <img border="0" src="<?=$arResult["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arResult["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arResult["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arResult["PREVIEW_PICTURE"]["DESCRIPTION"]?>" title="<?=$arResult["NAME"]?>" id="image_<?=$arResult["PREVIEW_PICTURE"]["ID"]?>" style="display:block;cursor:pointer;cursor: hand;" OnClick="document.getElementById('image_<?=$arResult["PREVIEW_PICTURE"]["ID"]?>').style.display='none';document.getElementById('image_<?=$arResult["DETAIL_PICTURE"]["ID"]?>').style.display='block'" />
****************
****************
КАРТИНКА ДЕТАЛНОГО ПРОСМОТРА
****************

   <img border="0" src="<?=$arResult["DETAIL_PICTURE"]["SRC"]?>" width="<?=$arResult["DETAIL_PICTURE"]["WIDTH"]?>" height="<?=$arResult["DETAIL_PICTURE"]["HEIGHT"]?>" alt="<?=$arResult["DETAIL_PICTURE"]["DESCRIPTION"]?>" title="<?=$arResult["NAME"]?>" id="image_<?=$arResult["DETAIL_PICTURE"]["ID"]?>" style="display:none;cursor:pointer; cursor: hand;" OnClick="document.getElementById('image_<?=$arResult["DETAIL_PICTURE"]["ID"]?>').style.display='none';document.getElementById('image_<?=$arResult["PREVIEW_PICTURE"]["ID"]?>').style.display='block'" />
            <?elseif(is_array($arResult["DETAIL_PICTURE"])):?>
               <img border="0" src="<?=$arResult["DETAIL_PICTURE"]["SRC"]?>" width="<?=$arResult["DETAIL_PICTURE"]["WIDTH"]?>" height="<?=$arResult["DETAIL_PICTURE"]["HEIGHT"]?>" alt="<?=$arResult["DETAIL_PICTURE"]["DESCRIPTION"]?>" title="<?=$arResult["NAME"]?>" />
            <?elseif(is_array($arResult["PREVIEW_PICTURE"])):?>
               <img border="0" src="<?=$arResult["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arResult["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arResult["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arResult["PREVIEW_PICTURE"]["DESCRIPTION"]?>" title="<?=$arResult["NAME"]?>" />
            <?endif?>


      <?endif;?>
************
РАБОТА СО СВОЙСТВАМИ
************

            <?foreach($arResult["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
               <?=$arProperty["NAME"]?>:<b> <?
               if(is_array($arProperty["DISPLAY_VALUE"])):
                  echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
               elseif($pid=="MANUAL"):
                  ?><a href="<?=$arProperty["VALUE"]?>"><?=GetMessage("CATALOG_DOWNLOAD")?></a><?
               else:
                  echo $arProperty["DISPLAY_VALUE"];?>
               <?endif?></b><br />
            <?endforeach?>
****************
 ТЕКСТ ДЕЛАЛЬНОГО ПРОСМОТРА  <?=$arResult["DETAIL_TEXT"]?>
***************
***************
ТЕКСТ АНОНСА    <?=$arResult["PREVIEW_TEXT"]?>
***************
ответил 16 Ноя, 13 от Lekar (2,220 баллов)
00 голосов
С этим разобрались, спасибо!

Тогда ещё вопрос: в инфоблоке есть свойство типа файл,
при его чтении выдаёт Array ( [0] => 12 [1] => 13 [2] => 14 )
где эти файлы лежат и как их прочитать?
ответил 25 Фев, 14 от BlakCat (280 баллов)
00 голосов
Класс CFile вам в руки :)
Точнее документацию по нему: http://www.1c-bitrix.ru/help/source/main/help/ru/developer/reference/cfile/index.php.html
ответил 17 Июнь, 14 от sickmind (4,660 баллов)
00 голосов
Это выводится уникальный номер файла в системе битрикс.
Что с ним можно сделать смотрите документацию по классу CFile
ответил 16 Окт, 14 от ESLIBIA (260 баллов)
00 голосов
Цитата
Георгий Иванов пишет:
где эти файлы лежат и как их прочитать?

CFile::GetByID()
На вход по очереди значения массива значений свойств (12, 13, 14)
ответил 16 Фев, 15 от Pomnep (13,960 баллов)
00 голосов
Всем спасибо,
я прям испугался, столько ответов smile:)
ответил 27 Май, 15 от BlakCat (280 баллов)

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

0 голосов
3 ответов
спросил 31 Дек, 13 от Keis (160 баллов)
0 голосов
1 ответ
спросил 12 Авг, 16 от fomix (120 баллов)
0 голосов
2 ответов
спросил 04 Май, 14 от Nub8507 (100 баллов)
0 голосов
0 ответов
спросил 10 Март, 14 от lordonka (120 баллов)
0 голосов
4 ответов
спросил 28 Янв, 14 от ZeroZ (100 баллов)