Bitrix пользовательское поле html

Форум

Всем доброго времени суток.
Вот такой вопрос возник: можно ли сделать так, чтобы в пользовательском поле воспринимались html-теги? Сейчас в настройках полей не вижу такого свойства, и при заполнении пользовательского поля (Строка) текст появляется без форматирования. И теги к нему никакие применить не могу — они просто не работают.

Покурил поиск по форуму, вроде что-то нашел, но довольно неутешительное.

Насколько я понимаю, это настройки для элемента. А мне нужно сделать так, чтобы строку с описанием разделов , в которых хранятся эти элементы, можно было редактировать с помощью hmtl-кодов. Сейчас там можно вставить только текст, коды не читаются.

Путь к настройкам вот такой: Рабочий стол — Настройки — Настройки продукта — Пользовательские поля

Нет, такого типа нет, но вы можете его дописать, взяв за основу text/html для элементов (файл /bitrix/modules/iblock/classes/general/prop_html.php)
Пример можно посмотреть тут
http://dev.1c-bitrix.ru/community/webdev/group/78/blog/2193/

Да, как я и думал. Плохо то, что я совсем не программист и не писатель кодов Что ж, спасибо за ответ, учтем на будущее.

Вывести содержимое в формате html можно добавив тильду в вызове, у меня так:

$ar_result=CIBlockSection::GetList(Array(«SORT»=>»­­ASC»), Array(«IBLOCK_ID»=>82, «ID»=>$arResult[‘SECTION’][‘ID’]),false, Array(«UF_KR_SEOTEXT»)); if($res=$ar_result->GetNext())

Правда мне это не помогло, тип «строка» накладывает ограничение на количество символов.

Возникла аналогичная задача: надо вывести пользовательское поле раздела типа html. Попытка преобразовать пример http://dev.1c-bitrix.ru/community/webdev/group/78/blog/2193/ результатов не дала. Может потому что есть какие-то изменения в 12-й версии? Может ли кто подкинуть более детальный пример?

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

Продукты

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

Битрикс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С-Битрикс: Управление сайтом. Политика конфиденциальности

Источник

Bitrix пользовательское поле html

До сих пор в Битриксе нет пользовательского свойства с HTML кодом (визуальным редактором). Устраняем это досадное недоразумение.

На просторах интернета быстро нашлось решение, правда сильно устаревшее, немного пришлось допилить напильником, и теперь всё работает.

Результат в вашем разделе будет выглядеть примерно так:

Данный код необходимо вставить в init.php вашего сайта на Битриксе. Решение поддерживает PHP8.

//выводим пользовательское HTML поле в свойствах разделов AddEventHandler('main', 'OnUserTypeBuildList', array('CUserTypeSectionsHtmlField', 'GetUserTypeDescription'), 5000); class CUserTypeSectionsHtmlField < public static function GetUserTypeDescription() < return array( // уникальный идентификатор 'USER_TYPE_ID' =>'sections_html_field', // имя класса, методы которого формируют поведение типа 'CLASS_NAME' => 'CUserTypeSectionsHtmlField', // название для показа в списке типов пользовательских свойств 'DESCRIPTION' => 'HTML/text', // базовый тип на котором будут основаны операции фильтра 'BASE_TYPE' => 'string', ); > public static function GetDBColumnType($arUserField) < switch (strtolower($GLOBALS['DB']->type)) < case 'mysql': return 'text'; break; >> public static function GetSettingsHTML($arUserField = false, $arHtmlControl, $bVarsFromForm) < $result = ''; return $result; >public static function CheckFields($arUserField, $value) < $aMsg = array(); return $aMsg; >public static function GetEditFormHTML($arUserField, $arHtmlControl) < if ($arUserField["ENTITY_VALUE_ID"] < 1 && strlen($arUserField["SETTINGS"]["DEFAULT_VALUE"]) >0) $arHtmlControl["VALUE"] = htmlspecialchars($arUserField["SETTINGS"]["DEFAULT_VALUE"]); ob_start(); CFileMan::AddHTMLEditorFrame($arHtmlControl["NAME"], $arHtmlControl["VALUE"], "html", "html", 200, "N", 0, "", "", "s1"); $b = ob_get_clean(); return $b; > public static function GetEditFormHTMLMulty($arUserField, $arHtmlControl) < $html = 'Поле не может быть множественным!'; return $html; >public static function GetFilterHTML($arUserField, $arHtmlControl) < $sVal = intval($arHtmlControl['VALUE']); $sVal = $sVal >0 ? $sVal : ''; return CUserTypeSectionsHtmlField::GetEditFormHTML($arUserField, $arHtmlControl); > public static function GetAdminListViewHTML($arUserField, $arHtmlControl) < return ''; >public static function GetAdminListViewHTMLMulty($arUserField, $arHtmlControl) < return ''; >public static function GetAdminListEditHTML($arUserField, $arHtmlControl) < return ''; >public static function GetAdminListEditHTMLMulty($arUserField, $arHtmlControl) < return ''; >public static function onsearchIndex($arUserField) < return ''; >public static function OnBeforeSave($arUserField, $value) < return $value; >>

Теперь в пользовательских типах у вас появится Text/Html

Источник

Пользовательское свойcтво тип HTML + множественное

Опубликовано: 11.01.2016 Обновлено: 27.01.2016 Версия: 1.0.3 Установлено: Более 1000 раз Подходящие редакции: «Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес», «Корпоративный портал», «Энтерпрайз» Адаптивность: Да Поддержка Композита: Да Совместимо с Сайты24 Нет Совместимо с PHP 8.1 Нет

Описание

Поддерживается множественность поля!

Модуль расширяет стандартные возможности для редактирования контента в разделах.

После установки решения, появится новый тип пользовательского свойства HTML. Создайте свойство для раздела инфоблока и используйте все возможности визуального редактора.

Почему отзывы не публикуете? Модуль не работает на PHP8.1, и существующие поля ни удалить, ни редактировать нет возможности. И что теперь с этим делать не понятно.
Техподдержка модуля вообще не отвечает, хоть бы написали что не могут помочь.

Для PHP 8:
1) в файле /bitrix/modules/d2mg.ufhtml/install/index.php заменить function d2mg_ufhtml на function __construct
2) в файле /bitrix/modules/d2mg.ufhtml/classes/general/customtypehtml.php сделать несколько замен:
— extends CUserTypeString на extends \Bitrix\Main\UserField\Types\StringType
— function GetUserTypeDescription() на public static function GetUserTypeDescription():array
— function GetEditFormHTML($arUserField, $arHtmlControl) на public static function GetEditFormHTML(array $arUserField, ?array $arHtmlControl): string
— function OnBeforeSave($arUserField, $value) на public static function OnBeforeSave($arUserField, $value)

На php 8.x модуль не работает (поле не появляется в админке), смена класса на CUserTypeStringFormatted и добавление static к его методам не помогает.

1.0.3 (27.01.2015) Исправления для множественности поля
1.0.1 (13.01.2015) Исправлена высота текстового поля по умолчанию. Если поле не пустое, то по умолчанию отображается визуальный редактор.

Решение устанавливается и удаляется стандартными средствами.

Высота поля настраивается в параметре «Количество строчек поля ввода». Указанное количество умножается на 10px

Техническая поддержка решения осуществляется по адресу d2mg@yandex.ru

Модуль предоставляется «AS IS» («Как есть»). Срок реакции на обращения до 5 рабочих дней.

  1. Обрезается текст до определенного количества символов при сохранении
    Решение: надо увеличить настройку PHP max_input_vars
  2. Вывести содержимое в формате html (теги выводятся как текст)
    Решение: использовать знак ~ (тильда) в названии поля

Другие решения разработчика

Решение добавлено в корзину

Готовые решения

Все решения

Для Битрикс24

О маркетплейсе

Как установить

Контакты

Авторы

Блоги разработчиков

Для разработчиков

Добавить свое решение

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

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

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

Источник

Тип пользовательского свойства — HTML/Визуальный редактор

Тип пользовательского свойства - HTML/Визуальный редактор

Опубликовано: 19.09.2019 Обновлено: 14.06.2023 Версия: 1.0.7 Установлено: 500 — 999 раз Подходящие редакции: «Корпоративный портал», «Энтерпрайз», «Интернет-магазин + CRM» Адаптивность: Нет Поддержка Композита: Нет Совместимо с Сайты24 Нет Совместимо с PHP 8.1 Да

Описание

Модуль добавляет новый тип пользовательского поля — «HTML/Визуальный редактор».

С помощью данного модуля вы можете создавать пользовательские поля нового типа — « HTML/Визуальный редактор ». Вносить данные в такое поле можно как в административном разделе, так и публичном.

Рассмотрим на примере добавление пользовательского поля для карточки пользователя на портале (см. скриншоты).

Создаём новое пользовательское поле, выбираем тип данных « HTML/Визуальный редактор », объект USER. В настройках отображения полей в карточке пользователя добавляем вновь созданное поле, сохраняем и заполняем данные.

Свойство может быть множественным.

Модуль после установки вызвал следующее:

«Фатальная ошибка: Невозможно сделать статический метод CUserTypeString :: GetUserTypeDescription () не статичным в классе CmcartUserFieldHtml in /home/bitrix/www/bitrix/modules/mcart.ufhtml/classes/general/cmcartuserfieldhtml.php на линии 6
[ErrorException] E_COMPILE_ERROR Не удается создать статический метод CUserTypeString :: GetUserTypeDescription () не статично в классе CmcartUserFieldHtml (0) /home/bitrix/www/bitrix/modules/mcartes/general/cmc»

Эта ошибка выдается на экране вместо формы для авторизации для входа в административную часть сайта, в результате обратился к хостерам, чтобы они помогли войти в админку. Пока вопрос не решен я обращаюсь к вам.

(«1С-Битрикс: Корпоративный портал 21.400.300», редакция «1С-Битрикс24: Интернет-магазин + CRM», PHP 7.4.22, MySQL 8.0.25-15, Apache 2.4.6, NGINX 1.18.0)

Источник

Читайте также:  Only number from string php
Оцените статью