Рейтинг: 78.516  
На голосовании
Предложил Грипинский Сергей 13.07.2012 10:35:29

Копирование и перемещение инфоблоков

Болят руки и мозг от создания однотипных инфоблоков? Устали каждый раз выставлять там права доступа и подписи?
Привыкли, что с файлами можно делать перемещения и копирование, а в инфоблоках - фигушки и вы расстроены?
У вас много типов инфоблоков и в каждом по 1-2 инфоблока? Правда, хочется собрать их в более большие осмысленные кучки? А вот пока нельзя! Поэтому...


Предлагаю добавить два действия с инфоблоками: копирование и перемещение.



Начнём с простого: перемещение. На сколько я вижу по структуре БД, это тривиальная задача, которая заключается в изменении содержимого записи IBLOCK_TYPE_ID в таблице b_iblock

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

P.S.: Глобальная концепция компонентов продукта - обращаться к инфоблоку по ID и проверять тип - мне до сих пор не ясна. ID инфоблока ведь уникальный. Зачем??? Чем-то напоминает, "ой, а мне только спросить!"
Однако, такая концепция имеет место в стандартных компонентах, поэтому я понимаю, что перемещение инфоблока может привести к необходимости перенастройки поля "Тип информационного блока (используется только для проверки)" в уже настроенных и размещённых компонентах. Но оно того стоит!