public static function getOne_page($slug) { $options = []; $datas = []; $parent_pages = self::find()->joinWith('page_rel')->where(['page.page_slug' => $slug])->andWhere(['is_archive' => 0])->all(); if (!empty($parent_pages)) { foreach ($parent_pages as $key => $value) { $options['page_data']['id'] = $value->id; $options['page_data']['page_title'] = $value->page_title; $options['page_data']['page_slug'] = $value->page_slug; $options['page_data']['short_desc'] = $value->short_desc; $options['page_data']['page_desc'] = $value->page_desc; $options['page_data']['sort_order'] = $value->sort_order; $options['sort_order'] = $value->sort_order; $options['show_video_icon'] = $value->is_video; $get_page_rels = PageTypeRel::find()->where(['page_id' => $value->id])->one(); if (!empty($get_page_rels)) { $options['page_type'] = $get_page_rels->page_type; } //$options['page_types'] = $value->types; //$options['page_tags'] = $value->tags; $x = 0; $options['page_images'] = array(); $options['page_banner'] = ''; $options['page_thumb'] = ''; $tmp = array(); if (!empty($value->images)) { foreach ($value->images as $key) { $tmp['image'] = Yii::$app->urlManager->createAbsoluteUrl('/') . 'uploads/' . $key->image; $tmp['sort_order'] = $key->sort_order; $tmp['is_gallery'] = $key->is_gallery; $tmp['is_banner'] = $key->is_banner; $tmp['short_desc'] = $key->short_desc; $tmp['short_title'] = $key->short_title; array_push($options['page_images'], $tmp); if ($key->is_banner) { $options['page_banner'] = Yii::$app->urlManager->createAbsoluteUrl('/') . 'uploads/' . $key->image; $options['page_thumb'] = Yii::$app->urlManager->createAbsoluteUrl('/') . 'uploads/thumb/' . $key->image; } if ($key->is_gallery) { $options['page_thumb'] = Yii::$app->urlManager->createAbsoluteUrl('/') . 'uploads/' . $key->image; } $x++; } } foreach ($value->post as $p) { $options['page_post'][$p->id]['data'] = $p; $options['page_post'][$p->id]['images'] = $p->images; } $options['child_pages'] = self::get_child_pages_One_page($value->id, $datas); } } return $options; }
/** * Updates an existing Page model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $PageSelfRels_model_q = PageSelfRels::find()->where(['page_id' => $id])->all(); $PageTypeRel_model_q = PageTypeRel::find()->where(['page_id' => $id])->all(); $PageImageRel_model = new PageImageRel(); $PageTagsRel_model_q = PageTagsRel::find()->where(['page_id' => $id])->all(); $posts = Post::find()->where(['page_id' => $id])->all(); $_SESSION['KCFINDER']['disabled'] = false; // enables the file browser in the admin $_SESSION['KCFINDER']['uploadURL'] = Url::base() . "/kcupload/"; // URL for the uploads folder $_SESSION['KCFINDER']['uploadDir'] = Yii::getAlias('@app') . "/web/kcupload/"; // path to the uploads folder if (empty($PageSelfRels_model_q)) { $PageSelfRels_model = new PageSelfRels(); } else { $PageSelfRels_model = new PageSelfRels(); $PageSelfRels_model->parent_page_id = ArrayHelper::getColumn($PageSelfRels_model_q, 'parent_page_id'); } if (empty($PageTagsRel_model_q)) { $PageTagsRel_model = new PageTagsRel(); } else { $PageTagsRel_model = new PageTagsRel(); $PageTagsRel_model->tag_id = ArrayHelper::getColumn($PageTagsRel_model_q, 'tag_id'); } if (empty($PageTypeRel_model_q)) { $PageTypeRel_model = new PageTypeRel(); } else { $PageTypeRel_model = new PageTypeRel(); $PageTypeRel_model->page_type = ArrayHelper::getColumn($PageTypeRel_model_q, 'page_type'); } $image_rel_model = PageImageRel::find()->where(['page_id' => $id])->orderBy('sort_order asc')->all(); if ($model->load(Yii::$app->request->post()) && $PageTagsRel_model->load(Yii::$app->request->post()) && $PageSelfRels_model->load(Yii::$app->request->post()) && $PageTypeRel_model->load(Yii::$app->request->post())) { if ($model->save()) { $PageSelfRels_model->page_id = $model->id; if (empty($PageSelfRels_model->parent_page_id)) { PageSelfRels::deleteAll(['page_id' => $PageSelfRels_model->page_id]); $PageSelfRels_model->parent_page_id = 0; $PageSelfRels_model->save(); } else { Page::update_page_self_rel($PageSelfRels_model); } $PageTagsRel_model->page_id = $model->id; if (empty($PageTagsRel_model->tag_id)) { PageTagsRel::deleteAll(['page_id' => $PageTagsRel_model->page_id]); /* $PageTagsRel_model->tag_id = 0; $PageTagsRel_model->save();*/ } else { Page::update_page_tags_rel($PageTagsRel_model); } $PageTypeRel_model->page_id = $model->id; if (empty($PageTypeRel_model->page_type)) { PageTypeRel::deleteAll(['page_id' => $PageTypeRel_model->page_id]); $PageTypeRel_model->page_type = ''; $PageTypeRel_model->save(); } else { Page::update_page_type_rel($PageTypeRel_model); } return $this->redirect(['view', 'id' => $model->id]); } else { echo '<pre>'; var_dump($_POST['Page']); var_dump($model->getErrors()); } } else { $breadcumb = array_reverse(Page::get_breadcumb($id)); return $this->render('update', ['model' => $model, 'PageSelfRels_model' => $PageSelfRels_model, 'image_rel_model' => $image_rel_model, 'breadcumb' => $breadcumb, 'PageTypeRel_model' => $PageTypeRel_model, 'PageImageRel_model' => $PageImageRel_model, 'posts' => $posts, 'PageTagsRel_model' => $PageTagsRel_model]); } }