Exemple #1
0
 /**
  * Create page instance by type.
  *
  * @param string $type
  * @return Page
  */
 public function getPageInstance($type = null)
 {
     /** @var \im\base\types\EntityTypesRegister $typesRegister */
     $typesRegister = Yii::$app->get('typesRegister');
     $class = $type && $typesRegister->hasEntityType($type) ? $typesRegister->getEntityClass($type) : Page::className();
     return Yii::createObject(['class' => $class, 'type' => $type]);
 }
 /**
  * @inheritdoc
  */
 public function init()
 {
     parent::init();
     $pageClass = Page::className();
     if ($this->modelClass != $pageClass && !is_subclass_of($this->modelClass, $pageClass)) {
         throw new InvalidConfigException("The 'modelClass' property class must be '{$pageClass}' or it's subclass.");
     }
 }
 /**
  * @inheritdoc
  */
 protected function getModelClass()
 {
     return Page::className();
 }
Exemple #4
0
 /**
  * Registers a class definitions in container.
  */
 public function registerDefinitions()
 {
     Yii::$container->set(Page::className(), ['as seo' => ['class' => 'im\\seo\\components\\SeoBehavior', 'metaClass' => 'im\\cms\\models\\PageMeta', 'ownerType' => false], 'as template' => ['class' => 'im\\cms\\components\\TemplateBehavior']]);
 }