Меню

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

   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 в массиве ?
Задачи - создать перелинквку из товара, прописав название и ссылки на статичные страницы сайта.
Ответить
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst

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

Добавить свойство в административную форму заказа

Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку формы, в виде картинки. На сайте...

Ссылка и название раздела в списке новостей Битрикс

Если нужно вывести название раздела инфоблока в котором находится конкретный элемент/новость в компоненте "списк новосте...

Отфильтровать новости в Битрикс за заданный период

Иногда, нужно отфильтровать элементы (новости например) по дате в Битрикс, с помощью компонента "список новостей". Для э...

Простые калькуляторы в карточке товара каталога на Битрикс

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

Заполнить картинки разделов каталога из картинок товаров

Задача: в каталоге, разделы и подразделы выводятся в виде плитки над товарами, с картинками разделов. Так как разделов и...

Массово: применить наценку ко всем товарам каталога с пересчетом от базовой.

Рассмотрим как, в магазине работающем на 1С-битрикс, массово применить наценку на все товары каталога. Устанавливать буд...

Ссылки для добавления и удаления товара из сравнения в Битрикс

Просто оставляю это здесь, вставка ссылок на добавление и удаление товара из сравнения, если уже добавлен. Чуть позже до...

Прятать или показывать описание раздела каталога

В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый параметр: "Скрывать описание раз...

Ленивая подгрузка картинок в компоненте, на vue js Битрикс

Если на одну страницу сайта выводится большое количество картинок, которые могут долго подгружаться- либо нужно попасть ...