예제 #1
0
파일: CmsSite.php 프로젝트: Liv1020/cms
 public function createTreeAfterInsert(Event $e)
 {
     $tree = new Tree(['name' => 'Главная страница', 'site_code' => $this->code]);
     if (!$tree->save(false)) {
         throw new Exception('Failed to create a section of the tree');
     }
 }
예제 #2
0
파일: Tree.php 프로젝트: skeeks-cms/cms
 /**
  * Создание дочерней ноды
  *
  * @param Tree $target
  * @return Tree
  * @throws Exception
  * @throws \skeeks\sx\validate\Exception
  */
 public function processCreateNode(Tree $target)
 {
     //Текущая сущьность должна быть уже сохранена
     if ($this->isNewRecord) {
         throw new Exception('Текущая сущьность должна быть уже сохранена');
     }
     //Новая сущьность должна быть еще не сохранена
     if (!$target->isNewRecord) {
         throw new Exception('Новая сущьность должна быть еще не сохранена');
     }
     //Установка атрибутов будущему ребенку
     $target->setAttributesForFutureParent($this);
     if (!$target->save(false)) {
         throw new Exception(\Yii::t('skeeks/cms', "Failed to create the child element:  ") . Json::encode($target->attributes));
     }
     $this->save(false);
     return $target;
 }