Инсталлятор в 2.4.0

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 12 января 2016 в 14:35
Столкнулся с такой проблемой. При установке моего компонента создается запись в типах контента.
В 2.3.0 вот такая конструкция в install.php работала отлично

  1.  
  2. $contentmodel = cmsCore::getModel('content');//получаем модель контента
  3. $sql = "INSERT INTO `cms_content_types` (`title`, `name`, ... `is_fixed`) VALUES
  4. ('Афиша 2.0', 'poster', ... NULL);";
  5. $contentmodel->db->query($sql);
  6. $ctype = $contentmodel->getContentTypeByName('poster');//узнаем тип контента
  7. $ctype_id = $ctype['id'];//id типа контента
  8.  
И далее используя $ctype_id создаем другие таблицы, добавляем категории и т.п.
Но при установке в 2.4.0 вместо реального id получаем

  1.  
  2. bool(false)
  3.  
Даже если создать объект модели еще раз. Изменился процесс установки? Как теперь в процессе установки создать запись и получить ее значение?
#2 12 января 2016 в 14:58
Zau4man, либо вместо

  1. $ctype = $contentmodel->getContentTypeByName('poster');
Выбирать напрямую из базы (без использования метода модели getContentTypeByName), либо перед этой конструкцией сделать вот так:

  1. if(version_compare(cmsCore::getVersion(), '2.3.0') > 0){
  2. $content_model->reloadAllCtypes();
  3. }
  4. $ctype = $contentmodel->getContentTypeByName('poster');
  5.  
#3 12 января 2016 в 19:38
Fuze, спасибо, заработало.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.