Привет всем я вернулся)
Немного для разработчиков.
Решил опубликовать небольшой момент при настройке установщика дополнений.
В ряде уже существующих компонентов от пользователей не правильно настроен установщик. Не буду говорить каких именно. Кто этого не делал сам знает.
Думаю это актуально для собственных компонентов на стандартном типе контента.
При создании нового типа контента в установщике создается новый тип контента с ctype_id номером следующим за последним, тогда как например далее создаются написи, например в таблице con_ХХХ_fields в поле ctype_id должен бы стоять id вновь созданного типа контента.
Для этого файл создания таблиц БД вроде как можно не трогать, но в процессе установки нужно поменять ctype_id на новый.
Для этого поработаем с файлом install.php и на примере нижеприведенного содержания этого файла разработчики думаю знают что делать.
где соответственно ХХХХ — ваш тип контента.
Собственно этот код выполнятся после установки таблиц БД из файла.
Всем удачного сайтостроения!
Немного для разработчиков.
Решил опубликовать небольшой момент при настройке установщика дополнений.
В ряде уже существующих компонентов от пользователей не правильно настроен установщик. Не буду говорить каких именно. Кто этого не делал сам знает.
Думаю это актуально для собственных компонентов на стандартном типе контента.
При создании нового типа контента в установщике создается новый тип контента с ctype_id номером следующим за последним, тогда как например далее создаются написи, например в таблице con_ХХХ_fields в поле ctype_id должен бы стоять id вновь созданного типа контента.
Для этого файл создания таблиц БД вроде как можно не трогать, но в процессе установки нужно поменять ctype_id на новый.
Для этого поработаем с файлом install.php и на примере нижеприведенного содержания этого файла разработчики думаю знают что делать.
<?php function install_package(){ $content_model = cmsCore::getModel('content'); $ctype = $content_model->getContentTypeByName('ХХХХ'); $content_model-> filterGt('ctype_id', 0)-> return true; }
Собственно этот код выполнятся после установки таблиц БД из файла.
Всем удачного сайтостроения!
Реклама #
My-InstantCMS.Ru 9 лет назад #
Я как то пытался с начало создать тип контента в install.sql а потом добавить поля в install.php (как у вас в коде), но не помогло, наверно PHP файл выполниться раньше SQL :(
Kreator 9 лет назад #