Вывод html кода битрикс

Основные функции вывода в шаблонах Битрикс

Собрал самые основные и часто используемые, в процессе создания сайтов на Битрикс буду дополнять список. Ведь «копировать-вставить» намного проще чем «вспомнить-поискать-порыться в документации-вставить».

В основном шаблоне:

ShowTitle()?> — собственно вывод тайтла в основном шаблоне сайта

ShowHead()?> — подключение для вывода в шаблоне сайта основных полей тега : мета-теги Content-Type, robots, keywords, description; стили CSS; скрипты

ShowPanel();?> — выводит панель управления администратора

ShowTitle(false);?> — заголовок (в h1 например использовать)

ShowHead разбить на составляющие:

ShowMeta(«keywords» ) ?> — Вывод мета тега keywords

ShowMeta(«description») ?> — Вывод мета тега description

ShowCSS(); ?> — Подключение основных файлов стилей template_styles.css и styles.css

ShowHeadStrings() ?> — Отображает специальные стили, JavaScript

ShowHeadScripts() ?> — Вывода служебных скриптов

В шаблонах компонентов:

» title=»» border=»0″/> — картинка раздела инфоблока.

Полезные условия

Если картинки нет- то вывести «нет картинки»

Включаемая область в режиме php.

$APPLICATION->IncludeFile(
SITE_DIR.»include/flash.php»,
Array(),
Array(«MODE»=>»php»)
);
?>

Количество товара на складе в списке товаров:

$ar_res = CCatalogProduct::GetByID($arElement[‘ID’]);
echo «
На складе: «;
print_r($ar_res[‘QUANTITY’]);
echo » шт.»;
?>

В подробной карточке товара, с подменой цифрового значения на выражение:

$quantity= $arElement[CATALOG_QUANTITY];
if (!$quantity)нет
if ($quantity!=0 && $quantity<=10)мало
if ($quantity!=0 && $quantity>10 && $quantity<=100)достаточно
if ($quantity>100)много
?>

Вывести название раздела внутри элемента. Например в детальной новости, указать к какому из разделов она относится:

Вывести меню нужного типа в шаблоне битрикс

$APPLICATION->IncludeComponent(«bitrix:menu», «top_menu», array(
«ROOT_MENU_TYPE» => «top», //В данном случаее меню типа top
«MENU_CACHE_TYPE» => «A»,
«MENU_CACHE_TIME» => «3600»,
«MENU_CACHE_USE_GROUPS» => «Y»,
«MENU_CACHE_GET_VARS» => array(
),
«MAX_LEVEL» => «1»,
«CHILD_MENU_TYPE» => «left»,
«USE_EXT» => «N»,
«DELAY» => «N»,
«ALLOW_MULTI_SELECT» => «N»
),
false
);
?>

Подключение веб мессенджера в шаблоне сайта

IncludeComponent(«bitrix:im.messenger», «», Array(), null, array(«HIDE_ICONS» => «N»));?>

Вывести текст описания свойства инфоблока. Например, в форме добавления/редактирования элемента инфоблока для пользователей:

Вывести текущую дату из установленной на сервере

Как в шаблоне детальной страницы сделать следующее:
Необходимо к переменной «DETAIL_TEXT» добавить данные из свойства карточки товара. любое свойство, которое есть в свойствах торгового каталога.

Приветствую. Подскажи пожалуйста.
Хочу сделать описание в карточке товара что бы генерировалось для каждого товара и текст в описании брался из свойств инфоблока.

Купить #название_товара#, самый лучший товар #код_свойства# формы, имеер размеры #код_свойства#, и обладает преимуществами #код_свойства#.

Цитата
Web_D написал:
Приветствую. Подскажи пожалуйста.
Хочу сделать описание в карточке товара что бы генерировалось для каждого товара и текст в описании брался из свойств инфоблока.
К примеру:
Купить #название_товара#, самый лучший товар #код_свойства# формы, имеер размеры #код_свойства#, и обладает преимуществами #код_свойства#.
Спасибо.

Можно сгененировать эту строку в настройках инфоблока, как описание карточки товара (на вкладке SEO)
А в самом шаблоне вывести:

Для полного фен шуя, можно проверять наличие нормального описания, если его нет- выводить сгенерированное.

Добрый день! Подскажите пожалуйста, как можно реализовать вывод из одного раздела детальных страниц но с разными шаблонами?

Цитата
Денис написал:
Добрый день! Подскажите пожалуйста, как можно реализовать вывод из одного раздела детальных страниц но с разными шаблонами?

Думаю, только через свойство элемента. Задать что-то типа «Вариант шаблона» со списком 1, 2, 3 и так далее
Проверять что выбрано в element.php и включать нужный шаблон.

Цитата
Денис написал:
Добрый день! Подскажите пожалуйста, как можно реализовать вывод из одного раздела детальных страниц но с разными шаблонами?
// Вариант шаблона из свойсва карточки $elProps = CIBlockElement::GetList ( false, Array( 'IBLOCK_ID' => $arParams['IBLOCK_ID'], 'CODE' => $arResult['VARIABLES']['ELEMENT_CODE']), false, false, Array( 'ID', 'PROPERTY_VARIANT_VIDA_KARTOCHKI' ) ); while($elProp = $elProps->Fetch()) < $varTemplate = $elProp['PROPERTY_VARIANT_VIDA_KARTOCHKI_VALUE']; >if(!$varTemplate) < $template = '.default'; >if($varTemplate == 1) < $template = 'var_1'; >if($varTemplate == 2) < $template = 'var_2'; >// end Вариант шаблона из свойства карточки $elementId = $APPLICATION->IncludeComponent( 'bitrix:catalog.element', $template, // включаем нужный шаблон $componentElementParams, $component ); $GLOBALS['CATALOG_CURRENT_ELEMENT_ID'] = $elementId;

— В свойстве VARIANT_VIDA_KARTOCHKI список с вариантами шаблона (просто 1 и 2).
— Получаем VALUE этого свойства.
— В $template передаем нужный шаблон.
— Применяем в bitrix:catalog.element

Цитата
Гость написал:
Добрый вечер. Возможно ли сделать выборку шаблона детальной страницы но на компоненте новостей ?

Да, точно также: через свойство новости, но применяете в комплексном шаблоне новостей, в файле detail.php

Поделиться страницей:

Ваш баннер вместо этой рекламы: 15 000 руб/мес. Размещается во всем блоге, форуме, видеоуроках и разделе с макетами.

© 2011—2023 ИП Базаров М.М. | Разработка сайтов и приложений.
Копирование материалов только с обратной ссылкой на сайт.

Золотой партнер Монитор качества

Этот сайт использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом.
Если Вы не хотите, чтобы Ваши пользовательские данные обрабатывались, пожалуйста, ограничьте их использование в своём браузере
Политика конфиденциальности и немного о Вас

Источник

Форум

Доброе время суток!
Подскажите, каким образом можно вывести свойство типа html/текст в bitrix.news.list в определенном месте?

echo $arItem["DISPLAY_PROPERTIES"]["Название свойства"]["DISPLAY_VALUE"]["TEXT"];

В настройках компонента, указал созданное свойство для отображения.

Для теста, создавал обычное поле типа Строка, которое выводится так:

echo $arItem["DISPLAY_PROPERTIES"]["Название свойства"]["DISPLAY_VALUE"]

Да и в шаблоне есть код, вывода доп. свойств, которое выводит тип Строка, но почему-то не выводит html/текст

Наверное лезу не в своё дело, но зачем делать свойство html/text ? можно вполне обойтись строкой в которой будет выводиться HTML если в вызове указать конечным значение [» ~ VALUE»] — по крайней мере у меня так работает

Виктория Самойленко, примите и от меня благодарность — помогли очень. Поверьте — радуюсь ничуть не меньше чем derbass

Центр поддержки

Продукты

Управление сайтом

Битрикс24

Интернет-магазин + CRM

Решения

Для интернет-магазинов

Каталог готовых решений

Внедрение

Выбрать партнера

Проверить партнера

Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Источник

Вывести свойство типа html.

Здравствуйте, дорогие читатели. Сегодня хочу разобрать проблему, связанную с выводом значения свойства инфоблока типа HTML/текст. У меня такая проблема выскочила, когда я реализовывал привязку к Яндекс карте в битрикс.

Например вы редактируете шаблон детальной страницы комплексного каталога, пытаетесь вывести $arResult[«PROPERTIES»][«DESCRIPTION»][«VALUE»], где свойство «DESCRIPTION» в инфоблоке имеет тип HTML/текст. В результате вы получили не то, что хотели увидеть. Вы получили html-безопасный вид вашего текста(что-то вроде этого "если a>b и b>c, то a>c").

Разработчиками предусмотрен такой исход, и, если вы проверите, что хранит массив, $arResult[«PROPERTIES»][«DESCRIPTION»] (выведем его с помощью функции print_r();), то увидите кроме поля [«VALUE»] еще и таинственный [«~VALUE»] . Как раз значение этого поля вам и нужно.

Вставляем вместо исходного это$arResult[«PROPERTIES»][«DESCRIPTION»][«~VALUE»]. Наслаждаемся красивым HTML текстом.

Вывод значения свойства HTML/текст средствами битркс Api.

Рассмотрим другой способ. Допустим, вы с помощью Api bitrix выводите значение «проблемного» свойства. У вас получился код на подобии этого:

if(CModule::IncludeModule('iblock')) < $arSort= Array("name"=>"ASC"); $arSelect = Array("ID","NAME"," DESCRIPTION "); $arFilter = Array("IBLOCK_ID"=>5); $res = CIBlockElement :: GetList ($arSort, $arFilter, false,false, $arSelect); while($ob = $res->GetNextElement()) < $arFields = $ob->GetFields(); print_r($arFields[NAME]); print_r($arFields[DESCRIPTION]); > >

Опять проблемы с преобразованными тэгами и кавычками. Тут нам не подходит предыдущий метод. В текущей ситуации воспользуемся функцией Апи 1с-битрикс htmlspecialcharsBack. Она поможет преобразовать наш текст из html-безопасного вида в исходное представление.

Перед выводом $arFields[DESCRIPTION] применим к этому тексту функцию htmlspecialcharsBack.

В результате рабочий код выглядит так:

if(CModule::IncludeModule('iblock')) < $arSort= Array("name"=>"ASC"); $arSelect = Array("ID","NAME"," DESCRIPTION "); $arFilter = Array("IBLOCK_ID"=>5); $res = CIBlockElement :: GetList ($arSort, $arFilter, false,false, $arSelect); while($ob = $res->GetNextElement()) < $arFields = $ob->GetFields(); print_r($arFields[NAME]); print_r(htmlspecialcharsBack ($arFields[DESCRIPTION])); > >

Верстальщикам советую ознакомиться со статьей — CSS кроссбраузерность.

Источник

Форум

Кстати, почему при выводе $arIBlockElement[«PROPERTIES»][«SPEC»][«~VALUE»][«TEXT»]; результат отображается одним образом, а без тильды другим? И зачем нужно такое дублирование полей массива..

Такой вопрос нужно вставлять в названии элемента переносы типа

. НО на сайте чтобы выводилось без них но с переносом строки, подскажите как реализовать

$IBLOCK_CODE, "ID"=>$id, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y"); $res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect); while($ob = $res->GetNext()) < $arResult["ELEMENTS"][$ob["ID"]] = $ob; >> ?> 
?

Вывод html кода битрикс
.fancybox-skin < background: #6e625d none repeat scroll 0 0 !important; border-radius: 0 !important; padding: 10px !important; >.fancybox-wrap < width: auto!important; >@media (min-width:767px) < .fancybox-inner< height:auto!important; >> $(".fancybox_close").click(function()< $.fancybox.close( true ); >);

В Битрикс для этих целей есть специальная функция htmlspecialcharsBack()
Источник решения: https://dev.1c-bitrix.ru/community/forums/forum6/topic47818/

Центр поддержки

Продукты

Управление сайтом

Битрикс24

Интернет-магазин + CRM

Решения

Для интернет-магазинов

Каталог готовых решений

Внедрение

Выбрать партнера

Проверить партнера

Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Источник

Читайте также:  Javascript get argument function
Оцените статью