Меню

Как вывести свойства инфоблока по отдельности и немного плюшек не в тему

   RSS
Как вывести свойства инфоблока по отдельности и немного плюшек не в тему
 
Как вывести свойства инфоблока по отдельности и немного плюшек не в тему

Если у инфоблока несколько свойств- то при выводе их всех, скажем в детальном описании новости, они выводятся все вместе- списком. Но можно вывести их независимо друг от друга.
Ответить
Ответы
 
Подскажите как в bitrix:search.page  (результатах поиска стандартного компонента) вывести дополнительное свойство FILE в виде ссылки
 
Цитата
ivdic пишет:
Подскажите как в bitrix:search.page (результатах поиска стандартного компонента) вывести дополнительное свойство FILE в виде ссылки
вставляю

<? echo $arResult['PROPERTIES']['FILE']['VALUE'];?>
и
<? echo $arResult['DISPLAY_PROPERTIES']['FILE']['DISPLAY_VALUE'];?>


вообще ничего не выводится...может где какие переменные надо объявить?
 
аууу... есть кто живой тут?
 
Хотя бы весь листинг кода привели...
 
Здравствуйте Михаил!

Пытаюсь вывести отдельное свойство ссылкой:  

Код
 <? if ( $arItem["PROPERTIES"]["СВОЙСТВО"]["VALUE"] > 0 ) : ?> 

    <? echo '<a href="'.CFile::GetPath($arItem["PROPERTIES"]["ATT_articul"]["VALUE"]).'">Скачать книгу</a> '; ?> 

    <? endif; ?>  
 
 



в файле: catalog.section ,  но что-то не получается. Помещаю этот код в отдельный див после дива с тайтлом. Не подскажите что делаю не так, не получается разобраться.
Код
     
 
Вывести множественное свойство привязка к элементам в виде списка.


Код
<?foreach($arResult["PROPERTIES"]["TRENER"]["VALUE"] as $analog):?>
    <?$res = CIBlockElement::GetByID($analog);?>
    <?if($ar_res = $res->GetNext())?>

        <img src="<?=CFile::GetPath($ar_res["PREVIEW_PICTURE"])?>">
        <?=$ar_res["NAME"];?>
        <?=$ar_res["PREVIEW_TEXT"];?>

        <p><?=$ar_res["DISPLAY_PROPERTIES"]["TEL_TRENER"]["VALUE"];?></p>
<?endforeach;?>
 

Стандартные свойства выводятся, последнее (тип строка) не выводится
 
Здравствуйте! Подскажите пожалуйста как вывести по отдельности свойства элемента в catalog.top?
 
Цитата
Алексей Сель написал:
Здравствуйте! Подскажите пожалуйста как вывести по отдельности свойства элемента в catalog.top?
Точно также как и в catalog.section у них шаблоны принципиально не отличаются
 
Цитата
Михаил Базаров пишет:
Цитата
Алексей Сель написал:
Здравствуйте! Подскажите пожалуйста как вывести по отдельности свойства элемента в catalog.top?
Точно также как и в catalog.section у них шаблоны принципиально не отличаются
использую
Код
<?=$arItem['PROPERTIES']['BR_PRICE']['VALUE']?>
нефига не происходит(  
 
Цитата
Алексей Сель написал:
Цитата
Михаил Базаров  пишет:
Цитата
Алексей Сель написал:
Здравствуйте! Подскажите пожалуйста как вывести по отдельности свойства элемента в catalog.top?
Точно также как и в catalog.section у них шаблоны принципиально не отличаются
использую
Код
 <?=$arItem['PROPERTIES']['BR_PRICE']['VALUE']?> 
нефига не происходит(  
Потомучто в топе, как и в catalog.section, нужно использовать $arElement

<?=$arElement['PROPERTIES']['BR_PRICE']['VALUE']?>
 
Цитата
Михаил Базаров пишет:
Цитата
Алексей Сель написал:
Цитата
Михаил Базаров пишет:
Цитата
Алексей Сель написал:
Здравствуйте! Подскажите пожалуйста как вывести по отдельности свойства элемента в catalog.top?
Точно также как и в catalog.section у них шаблоны принципиально не отличаются
использую
Код
  <?=$arItem['PROPERTIES']['BR_PRICE']['VALUE']?>  
нефига не происходит(
Потомучто в топе, как и в catalog.section, нужно использовать $arElement

<?=$arElement['PROPERTIES']['BR_PRICE']['VALUE']?>
arElement тоже пробовал, не работает, у меня в общем ТОП это  слайдер для популярных товаров, выводится на главную, может есть разница какая то что он вне комплексного компонента вставлен?
 
Михаил, добрый вечер.
Подскажите пожалуйста, в детальном просмотре выводятся дополнительные свойства, порядка 10 штук, в одном месте.
Среди них есть 1 свойство, содержащее ссылку на видео, его нужно выводить на этой же странице, но в другом месте. С этим проблем нет, его мы выводим отдельно.

Вопрос, как можно удалить это свойство, содержащее ссылку на видео из вывода всех полей, которые выводятся через foreach? Пробовал через unset почему то не получилось, также пробовал через continue. Тоже безрезультатно. Какие ещё могут быть варианты?
 
Здравствуйте, подскажите пожалуйста почему не выводится свойство
<?if(!empty($arResult["DETAIL_PICTURE"]["SRC"])):?>

      <div class="tickets_block">

           <?if($arResult['PROPERTIES']['ATT_TICKETS']['VALUE_XML_ID']=='Y'):?>        
                 <span class="tickets_icon"></span>
           <?endif?>

<img src="<?=$arResult["DETAIL_PICTURE"]["SRC"];?>" alt="<?=$arResult["NAME"];?>" class="actions">
</div>
<?endif;?>
В каталоге работает, а вот в news.detail не срабатывает.
Изменено: Елена Беляева - 21.03.2019 14:07:48
 
Добрый день, Михаил!

В комплексном каталоге этот код не работает:
Код
<? if ($arResult["DISPLAY_PROPERTIES"]['СВОЙСТВО']{?> //если не пустое 
<?=$arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['NAME']?>  //вывести название 
<?echo $arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['DISPLAY_VALUE'];?>  //и значение  
Опытным путем подобрал рабочий:
Код
<? if ($arItem["PROPERTIES"]["СВОЙСТВО"]["VALUE"]){?>
<?=$arItem["PROPERTIES"]["СВОЙСТВО"]['NAME']?> 
<?=$arItem["PROPERTIES"]["СВОЙСТВО"]["VALUE"];?>
<?}?> 
Я только начинаю осваивать Битрикс и пока не понимаю, в чем отличия arResult от arItem, DISPLAY_PROPERTIES от PROPERTIES, DISPLAY_VALUE от VALUE, а также какие кавычки ставить.

Еще может кому пригодится код для создания ссылки:
Код
<? if ($arItem["PROPERTIES"]["СВОЙСТВО"]["VALUE"]){?>
<a href="<?=$arItem["PROPERTIES"]["СВОЙСТВО"]["VALUE"];?>"><?=$arItem["PROPERTIES"]["СВОЙСТВО"]["NAME"];?></a>
<?}?> 
 
 
Огромное спасибо за материал! Сколько миллонов раз я его использовала на сайтах, просто не описать словами!
 
Здравствуйте! Помогите пожалуйста разобраться.
Данный код выводит название элемента и ссылку на него.
Как вывести вместо название элемента вывести свойство?
Код
<?foreach($arResult["PROPERTIES"]["СВОЙСТВО"]["VALUE"] as $analog):?>
<?$res = CIBlockElement::GetByID($analog);?> 
<?if($ar_res = $res->GetNext())?> 
<li><b><a href='<?=$ar_res["DETAIL_PAGE_URL"];?>'><?=$ar_res["NAME"];?></a></b></li>
<?endforeach;?>
Название элемента
Код
<li><b><a href='<?=$ar_res["DETAIL_PAGE_URL"];?>'><?=$ar_res["NAME"];?></a></b></li>
Свойство элемента
Код
<li><b><a href='<?=$ar_res["DETAIL_PAGE_URL"];?>'><?=$ar_res["Свойство"];?></a></b></li>
Надеюсь понятно объяснил)
 
Здравствуйте! Подскажите, пожалуйста,
Хочу вывести срок годности на видном месте, где он заполнен. Использую ваш 1 пример <? if ($arResult["DISPLAY_PROPERTIES"]['СВОЙСТВО']){?> //если не пустое <?=$arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['NAME']?> //вывести название <?echo $arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['DISPLAY_VALUE'];?> //и значение <?}?>
Но Не работает. Сейчас использую вот такой <div class="expired"><?=$arResult['PROPERTIES']['GODEN_DO']['VALUE']['NAME'];?></div> Показывается, но имя свойста "Годен до" везде отображается, даже у товаров у которых он не заполнен. Как правильно задать условие, чтобы показывалось имя свойства только при условии заполненного значения? Заранее спасибо.
 
Цитата
Максим написал:
Здравствуйте! Подскажите, пожалуйста,
Хочу вывести срок годности на видном месте, где он заполнен. Использую ваш 1 пример <? if ($arResult["DISPLAY_PROPERTIES"]['СВОЙСТВО']){?> //если не пустое <?=$arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['NAME']?> //вывести название <?echo $arResult['DISPLAY_PROPERTIES']['СВОЙСТВО']['DISPLAY_VALUE'];?> //и значение <?}?>
Но Не работает. Сейчас использую вот такой <div class="expired"><?=$arResult['PROPERTIES']['GODEN_DO']['VALUE']['NAME'];?></div> Показывается, но имя свойста "Годен до" везде отображается, даже у товаров у которых он не заполнен. Как правильно задать условие, чтобы показывалось имя свойства только при условии заполненного значения? Заранее спасибо.

Добрый
Попробуйте вот так:
Код
<?if (strlen($arResult['PROPERTIES']['GODEN_DO']['VALUE']) !== 0) {?>
   <?=$arResult['PROPERTIES']['GODEN_DO']['NAME'];?>:
    <?=$arResult['PROPERTIES']['GODEN_DO']['VALUE'];?>
<?}?>
Изменено: Михаил Базаров - 04.07.2022 09:20:53
 
Подскажите, пожалуйста, как вывести отдельное свойство инфоблока, у которого несколько значений должны быть разделены запятой
 
Цитата
Андрей написал:
Подскажите, пожалуйста, как вывести отдельное свойство инфоблока, у которого несколько значений должны быть разделены запятой

Если правильно понял вопрос:
Код
<?
echo implode(', ', $arResult['DISPLAY_PROPERTIES']['ВАШЕ_СВОЙСТВО']['VALUE']);
?>
Изменено: Михаил Базаров - 31.08.2022 23:23:37
 
Цитата

<?
echo implode(', ', $arResult['DISPLAY_PROPERTIES']['ВАШЕ_СВОЙСТВО']['VALUE']);
?>
Супер! То что надо, спасибо!
Изменено: Михаил Базаров - 02.09.2022 15:13:54
 
Михаил, добрый день!
Подскажите, пожалуйста, как в общем списке выделить отдельное свойство элемента цветом?  
 
Уточнение к предыдущему вопросу
Как сделать, чтобы отдельное свойство элемента в общем списке выводилось определенным цветов (или курсивом)
Имеется ввиду и имя и значение (и [NAME] и [DISPLAY_VALUE])
 
Цитата
Андрей написал:
Уточнение к предыдущему вопросу
Как сделать, чтобы отдельное свойство элемента в общем списке выводилось определенным цветов (или курсивом)
Имеется ввиду и имя и значение (и [NAME] и [DISPLAY_VALUE])

Можно, просто версткой, получив нужное свойство через nth-child()
Например, если третье в списке:
Код
ul li:nth-child(3) {
  font-style:italic;
  color: red;
}
Изменено: Михаил Базаров - 08.12.2022 14:52:25
 
Цитата
написал:
Код
 ul li:nth-child(3) {
  font-style:italic;
  color: red;
}
 
Это не подойдет. Свойства могут быть заполнены не все. Соответственно порядковые номера у строк величина не постоянная. Но все равно спасибо за ответ
 
Цитата
Андрей написал:
Цитата
написал:
Код
  ul li:nth-child(3) {
  font-style:italic;
  color: red;
}
Это не подойдет. Свойства могут быть заполнены не все. Соответственно порядковые номера у строк величина не постоянная. Но все равно спасибо за ответ

Тогда посложнее заморочка)

Код
foreach ($arResult["DISPLAY_PROPERTIES"] as $pid => $arProperty):
if ($arProperty['CODE'] == 'КОД_НУЖНОГО_СВОЙСТВА') {
         // Тут вертим нужное свойство с нужными стилями
} else {
       // Остальные свойства
}
endforeach
Изменено: Михаил Базаров - 10.12.2022 15:45:07
 
Цитата
написал:

Тогда посложнее заморочка)
Код
 foreach ($arResult["DISPLAY_PROPERTIES"] as $pid => $arProperty):
if ($arProperty['CODE'] == 'КОД_НУЖНОГО_СВОЙСТВА') {
         // Тут вертим нужное свойство с нужными стилями
} else {
       // Остальные свойства
}
endforeach
Михаил, еще раз благодарю за ответ. Это то что надо!
Хотя я пока решил вопрос по другому. Стиль меняется в зависимости от ИМЕНИ свойства. Не идеально, конечно, но мне подойдёт. Вот код, может кому будет интересно:

Код
<dl>
<?php
foreach ($arResult[&#39;DISPLAY_PROPERTIES&#39;] as $property) {?>
            <dt<? if($property[&#39;NAME&#39;] == &#39;Примечание&#39;) { echo &#39; class="prop-note"&#39;;}?>><?=$property[&#39;NAME&#39;]?></dt>
            <dd<? if($property[&#39;NAME&#39;] == &#39;Примечание&#39;) { echo &#39; class="prop-note"&#39;;}?>>
                <?=(
                    is_array($property[&#39;DISPLAY_VALUE&#39;])
                        ? implode(&#39; ~ &#39;, $property[&#39;DISPLAY_VALUE&#39;])
                        : $property[&#39;DISPLAY_VALUE&#39;]
                    )?>
            </dd>
            <?php
        }
        unset($property);
        ?>
    </dl>
    <?php
}
?>


Поддерживаю проект скромным донатом )
Изменено: Михаил Базаров - 11.12.2022 12:22:34
 
Да, еще если эти условия по выбору отдельных стилей поcтоянно меняются и не хочется лазить в код из за смены условия.
Можно использовать примечание у свойства, как-то так:
Код
foreach ($arResult["DISPLAY_PROPERTIES"] as $pid => $arProperty):
?>
<li class="<?=$arProperty['HINT']?>">
     <?=$arProperty['NAME']?>: <?=$arProperty['VALUE']?>
</li>
<?
endforeach

В самом примечании, собственно нужный class или style
Изменено: Михаил Базаров - 11.12.2022 17:32:26
 
Как вывести множественное свойство типа список, чтобы вывести Значение и XML_ID в массиве ?
Задачи - создать перелинквку из товара, прописав название и ссылки на статичные страницы сайта.
Ответить
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

ORM в инфоблоках, получение информации об элементах инфоблока на D7

Задача: собрать полные данные об элементах инфоблока, применяя ORM/D7, который пришел на смену устаревшему CIBlockEleme...

Пошагово получить информацию о заказах и сохранить как Excel (xls)

Задача: Нужно получить информацию о заказах с возможностью указания даты создания "от"" и "до" ...

Получить и вывести все цены товара в 1С-Битрикс

Задача: получить и вывести все цены товара по его ID в каталоге 1С-Битрикс (например, в детальной карточке catalog.e...

CRM Битрикс-24 на веб-окружении под Ubuntu 24.04, c поддержкой PUSH и многосайтовости

Задача: Так как с 30 июня 2024 года операционная система CentOS-7 полностью снята с поддержки и не будет получать обновл...

Получение местоположений через API Битрикс c поиском по select.

Если нужно получить список городов из модуля "Местоположения" можно воспользоваться API Битрикс. Данные местоположения м...

Увидеть файл заказов который передаст Битрикс в 1С

Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с зака...

Менять большую картинку, при клике на маленькую, в детальной карточке

Мини скриптик, может кому пригодится для каталога товаров или новостей при использовании дополнительных картинок (обычно...

Оптимизация jpeg и png картинок на cron, с помощью jpegoptim и optipng

Задача: на сайт каждый день проходит выгрузка из 1С с обновлением картинок. Нужно оптимизмровать эти картинки с помощью...

Cordova, ввод в input под диктовку. Голосовой поиск в мобильном приложении.

Итак, задачка: реализовать голосовой поиск в мобильном приложении на Cordova. По сути, нам нужно захватить речь с микроф...