Ejemplo n.º 1
0
 /**
  * @inheritdoc
  */
 public function indexPage($event)
 {
     $index = Index::findOne(['model_id' => $event->model->getPrimaryKey(), 'model_class' => $event->model->className()]) or $index = new Index();
     $index->model_id = $event->model->getPrimaryKey();
     $index->model_class = $event->model->className();
     $index->title = $event->model->getSearchTitle();
     $index->content = $event->model->getSearchContent();
     $index->tags = $event->model->getSearchTags();
     $index->url_backend = $event->model->getBackendViewLink();
     $index->url_frontend = $event->model->getFrontendViewLink();
     ModuleEvent::trigger(self::EVENT_BEFORE_CREATE_INDEX, new SqlIndexEvent(['model' => $event->model, 'index' => $index]));
     if (!$index->save()) {
         Yii::$app->session->setFlash(Alert::TYPE_DANGER, implode("\n", $index->getFirstErrors()));
         Yii::error('Unable to index model ' . $event->model->className() . '::' . $event->model->getPrimaryKey() . ', error: ' . implode("\n", $index->getFirstErrors()));
     }
 }