SOLID принципы: OCP (Открытости/закрытости (Open Closed Principle)

Программные сущности (модули, классы, функции и т.д.) должны быть открыты для расширения, но закрыты для изменения (Бертранд Мэер) «Открыты для расширения», означает, что любой класс, метод, блок программного кода должен быть открыт для добавления нового функционала «Закрыты для изменения»: для добавления нового функционала в сущность, не должны вноситься изменения в код, который эту сущность использует. …

SOLID принципы: SRP (Принцип единственной ответственности, Single Responsibility Principle)

Каждый объект должен иметь одну обязанность и эта обязанность должна быть полностью инкассирована в класс (Робер Мартин). Через ваш класс должна проходить только одна ось изменений (Сергей Немчинский) Т.е. Ваш класс должен меняться только по одной причине (содержать поля и методы относящиеся к одному вопросу). Никаких Gob Object. Осмысленно используйте SRP. Не следует, необдуманно, рубить …

При восстановлении версии или изменения статуса в документообороте пропадают seo данные.

Версия ядра: 20.600.100 Баг с версионностью в документообороте заглчается в том, что при откате на более старую версию данные не пишутся в таблицу b_iblock_iproperty. Решение. Привязываемся к событию обновления элемента OnAfterIBlockElementUpdate. Не забываем подключать наши классы

Принудительно обновить или восстановить ядро Bitrix

На странице обновления и в адресную строку нужно дописать параметр : <URL>/bitrix/admin/update_system.php?BX_SUPPORT_MODE=Y Теперь можно повторно перезагрузить ядро и все модули bitrix.

Bitrix ORM D7 (Object-Relational Mapping)

История развития ORM — Object-Relational Mapping, (объектно-реляционное отображение). С версии ядра 12.0.0 (2012-13 год) появился абстрактный базовый класс для работы с объектами данных DataManager (исходя из офф. документации по D7). С версии ядра 18.0.3 (2018-06-07) добавляются объекты ORM, в это же время меняется структура классов ORM (исходя из описания истории версий). С версии ядра 19.0.0 …