Skip to content

Strong/bitrix-hlblock-fields-fixer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version Total Downloads

Данный пакет больше активно не поддерживается

Причина - мы больше не используем Битрикс в своих проектах. Если вам интересен этот проект и вы хотите заняться его поддержкой - форкните его и создайте Issue в данном репозитории чтобы мы поместили здесь ссылку на форк.

Модификация полей создаваемых модулем highloadblock

Введение

Как известно, модуль highloadblock хранит элементы в произвольной таблице, причем каждое поле highload-блока представляет из себя столбец в этой таблице. Однако по историческим причинам, Битрикс весьма странно выбирает тип столбца под свойство, например строковое свойство хранится в столбце с типом text. Данный пакет позволяет переопределить типы полей для любых свойств хайлоадблоков, а также выполняет ряд самых полезных преобразований по-умолчанию.

Установка

1)composer require arrilot/bitrix-hlblock-fields-fixer

  1. добавляем в init.php
require $_SERVER['DOCUMENT_ROOT']."/vendor/autoload.php";

Arrilot\BitrixHLBlockFieldsFixer\ServiceProvider::register();

Использование

По-умолчанию, пакет производит следующие преобразования:

//  тип поля => тип столбца в mysql
// 'string' => 'varchar(255)',
// 'string_formatted' => 'varchar(255)',
// 'text' => 'text',
// 'boolean' => 'tinyint(1)',

string - строка string_formatted - шаблон text - строка/шаблон в случае если при создании в поле "Количество строчек поля ввода:" указано более 1.

Можно добавить дополнительные или переписать существующие при помощи массива конфигурации:

Arrilot\BitrixHLBlockFieldsFixer\ServiceProvider::register(['text' => 'longtext']);

Данная строчка затронет лишь преобразования для поля text, все остальные преобразования по-умолчанию продолжат работать. Для того чтобы выключить какое-то преобразование можно задать ему null.

Как это работает

На событие OnAfterUserTypeAdd добавлен обработчик который выполняет ALTER TABLE MODIFY COLUMN Выполняется он только при добавлении нового свойства. При обновлении ничего испортить невозможно.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%