Написал простейший модуль, который нужен для установки пользовательского компонента. Чтобы особенно не заморачиваться с оформлением модуля в файле install/index.php модуля дописал такой кастылёк найденный на просторах интернета:
Всё работает, модуль устанавливается, инфоблок создаётся, компонент работает, одно "НО". Система создаёт тип инфоблока "Каталог 1С" и засовывает мой инфоблок в него. Я чего-то не знаю, но разве система не должна создать новый тип основываясь на атрибутах WizardServices::ImportIBlockFromXML() ? Или его (тип инфоблока) нужно создать самостоятельно до вызова ImportIBlockFromXML() ?
Код |
---|
//Маленький кастылёк, ибо для работы компоненту нужен инфоблок //Подключаем механизм создания мастеров (лучше в самом начале файла установки модуля) require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/wizard.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/install/wizard_sol/utils.php"); //Импорт инфоблока WizardServices::ImportIBlockFromXML( "/bitrix/modules/mymodule/install/xml/seo_ib.xml", "custom_seo", //Код инфоблока "seo", //Тип инфоблока SITE_ID, $permissions = Array( "1" => "X", "2" => "R", ) ); |
Всё сбудется, стоит только расхотеть...