public static function Get($key) { $content = ''; $module = Yii::$app->getModule('livecontent'); if ($module->HasContent($key)) { $content = $module->GetContent($key); } else { $content = Yii::$app->cache->get('content_' . md5($key)); if ($content === false) { if (($model = ContentData::place($key)) !== null) { $content = $model->content; Yii::$app->cache->set('content_' . md5($key), $content, $module->cacheContentDuration); } } } return $content; }
public function actionBlocksave() { $return = ['class' => 'danger', 'msg' => Yii::t('app', 'Saving error')]; $post = Yii::$app->request->post(); if (isset($post['ContentData'])) { $contentData = $post['ContentData']; $model = ContentData::place($contentData['place']); if (!isset($model)) { $model = new ContentData(); $model->place = $contentData['place']; } $model->content = isset($post['DynamicModel']) ? serialize($post['DynamicModel']) : ''; } else { $model = new ContentData(); } $model->type = 'block'; $blockData = $post['data-block']; $data = json_decode(base64_decode($blockData)); $dataModel = $this->createContentFormModel($data); foreach ($post['DynamicModel'] as $key => $value) { $dataModel->{$key} = $value; } if ($model->validate() && $dataModel->validate() && $model->save()) { Content::Set($model->place, $model->content); $return = array('class' => 'success', 'msg' => Yii::t('app', 'Data is saved')); } else { $errors = $dataModel->getErrors(); $return = array('class' => 'danger', 'msg' => Yii::t('app', 'Saving error'), 'error_fields' => array_keys($errors)); } echo JSON::encode($return); }