コード例 #1
0
ファイル: Page.php プロジェクト: czechcamus/dasport
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getMenuItemContents()
 {
     return $this->hasMany(MenuItemContent::className(), ['content_id' => 'id']);
 }
コード例 #2
0
ファイル: MenuItemRecord.php プロジェクト: czechcamus/dasport
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getMenuItemContent()
 {
     return $this->hasOne(MenuItemContent::className(), ['menu_item_id' => 'id']);
 }
コード例 #3
0
ファイル: MenuItemForm.php プロジェクト: czechcamus/dasport
 /**
  * Save MenuItem record model and relations
  * @param bool $insert
  * @throws \Exception
  */
 public function saveMenuItem($insert = true)
 {
     $menuItemRecord = new MenuItemRecord();
     if ($this->item_id) {
         $menuItemRecord->id = $this->item_id;
     }
     $menuItemRecord->isNewRecord = $insert;
     $menuItemRecord->attributes = $this->toArray();
     if ($menuItemRecord->content_type == MenuItemRecord::CONTENT_LINK) {
         $menuItemRecord->layout_id = null;
     } else {
         $menuItemRecord->link_url = null;
         $menuItemRecord->link_target = null;
     }
     $menuItemRecord->main = is_array($this->boxes) && in_array(self::PROPERTY_MAIN, $this->boxes) ? 1 : 0;
     $menuItemRecord->active = is_array($this->boxes) && in_array(self::PROPERTY_ACTIVE, $this->boxes) ? 1 : 0;
     $menuItemRecord->public = is_array($this->boxes) && in_array(self::PROPERTY_PUBLIC, $this->boxes) ? 1 : 0;
     if ($menuItemRecord->save()) {
         if ($menuItemContent = MenuItemContent::findOne(['menu_item_id' => $menuItemRecord->id])) {
             $insert = false;
         } else {
             $menuItemContent = new MenuItemContent();
             $menuItemContent->menu_item_id = $menuItemRecord->id;
             $insert = true;
         }
         if ($this->content_type != MenuItemRecord::CONTENT_LINK) {
             if ($this->content_type == MenuItemRecord::CONTENT_PAGE) {
                 $menuItemContent->content_id = $this->content_id;
                 $menuItemContent->category_id = null;
             } else {
                 $menuItemContent->category_id = $this->content_id;
                 $menuItemContent->content_id = null;
             }
             $menuItemContent->save();
         } else {
             if (!$insert) {
                 // Content record exists in table
                 $menuItemContent->delete();
             }
         }
     }
 }