public function assignRule() { if (isset(Yii::$app->getModule('seo')->installed) && Yii::$app->getModule('seo')->installed) { $seo = SeoMeta::find()->where(['not', ['url' => null]])->andWhere(['not', ['route' => null]])->all(); foreach ($seo as $meta) { $this->rules[$meta->url] = $meta->route; } } }
public function actionIndex() { $data = new ActiveDataProvider(['query' => SeoMeta::find()->sortCreate()]); return $this->render('index', ['data' => $data]); }
/** * Get data from database * * @param string $route * @param array $params */ protected function _getMetaData($route, $params = null) { $params = json_encode($params); /*$model = SeoMeta::find() ->where(['route' => '-']) ->orWhere( ['and', 'route=:route', ['or', 'params IS NULL', 'params=:params']], [':route' => $route, ':params' => $params] )->asArray() ->all(); */ $item = SeoMeta::find()->where(['and', 'route=:route', ['or', 'params IS NULL', 'params=:params']], [':route' => $route, ':params' => $params])->asArray()->one(); if (isset($item)) { $seo = yii\easyii\models\SeoText::find()->where(['class' => SeoMeta::className(), 'item_id' => $item['id']])->asArray()->one(); if (isset($seo)) { $item = ArrayHelper::merge($item, $seo); } $item = array_filter($item, 'strlen'); if (!empty($item['tags'])) { $item['tags'] = (array) json_decode($item['tags']); } if ($item['route'] == '-') { $this->_defaultMetaData = $item; } elseif ($item['route'] != '-' && empty($item['params'])) { $this->_routeMetaData = $item; } elseif ($item['route'] != '-' && !empty($item['params'])) { $this->_paramsMetaData = $item; } } /* foreach($model AS $item) { $item = array_filter($item, 'strlen'); if(!empty($item['tags'])) $item['tags'] = (array)json_decode($item['tags']); if($item['route'] == '-') $this->_defaultMetaData = $item; elseif($item['route'] != '-' && empty($item['params'])) $this->_routeMetaData = $item; elseif($item['route'] != '-' && !empty($item['params'])) $this->_paramsMetaData = $item; } */ }