Exemplo n.º 1
0
 public function beforeRender(ViewEvent $event)
 {
     if (Yii::$app->request->isAjax && !Yii::$app->request->isPjax) {
         return;
     }
     if (Yii::$app->controller->module->id == 'seoToolbar') {
         return;
     }
     $url = Yii::$app->request->url;
     if (!isset(self::$_seoPage)) {
         self::$_seoPage = Page::findByUrl($url);
     }
     if (self::$_seoPage) {
         $params = $event->params;
         foreach ($params as $key => $param) {
             if ($param instanceof Model && $param->hasMethod('getSeoPrefix')) {
                 self::$_seoPage->addModel($param, $key);
             }
         }
     }
     if (Yii::$app->getModule('seoToolbar')->checkAccess(Yii::$app)) {
         if (self::$_seoPage) {
             Yii::$app->session->set('seoAttributes:' . $url, self::$_seoPage->getReplaceData());
         }
     }
 }
Exemplo n.º 2
0
 public static function createByUrl($url)
 {
     $model = new self();
     $model->_page = Page::findByUrl($url);
     if (!$model->_page) {
         $model->_page = new Page(['pattern' => $url]);
         $model->isNewRecord = true;
     }
     $model->ogTags = Json::decode($model->_page->ogTags);
     if (!is_array($model->ogTags)) {
         $model->ogTags = [];
     }
     $model->pattern = $model->_page->pattern;
     $model->title = $model->_page->title;
     $model->keywords = $model->_page->keywords;
     $model->description = $model->_page->description;
     return $model;
 }