Skip to content

awesomebitrix/bitrix-hlblock-fields-fixer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version Total Downloads

Модификация полей создаваемых модулем 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

Packages

No packages published

Languages

  • PHP 100.0%