상속: extends craft\BaseElementModel
예제 #1
0
 public function actionSaveMeta()
 {
     $this->requirePostRequest();
     $metaId = craft()->request->getPost('metaId');
     $locale = craft()->request->getPost('locale');
     /*
     $elementId = craft()->request->getPost('elementId');
     */
     if ($metaId) {
         $model = craft()->seomatic->getMetaById($metaId, $locale);
         if (!$model) {
             /*
             $model = new Seomatic_MetaModel();
             $elementId = $metaId;
             */
             throw new Exception(Craft::t('No meta exists with the ID “{id}”', array('id' => $metaId)));
         }
     } else {
         $model = new Seomatic_MetaModel();
     }
     /* -- Set the Meta attributes, defaulting to the existing values for whatever is missing from the post data */
     $model->locale = craft()->request->getPost('locale', $locale);
     $model->elementId = $metaId;
     $model->metaType = craft()->request->getPost('metaType', $model->metaType);
     $model->metaPath = craft()->request->getPost('metaPath', $model->metaPath);
     $model->seoMainEntityCategory = craft()->request->getPost('seoMainEntityCategory', $model->seoMainEntityCategory);
     $model->seoMainEntityOfPage = craft()->request->getPost('seoMainEntityOfPage', $model->seoMainEntityOfPage);
     $model->seoTitle = craft()->request->getPost('seoTitle', $model->seoTitle);
     $model->seoDescription = craft()->request->getPost('seoDescription', $model->seoDescription);
     $model->seoKeywords = craft()->request->getPost('seoKeywords', $model->seoKeywords);
     $model->seoImageTransform = craft()->request->getPost('seoImageTransform', $model->seoImageTransform);
     $model->seoFacebookImageTransform = craft()->request->getPost('seoFacebookImageTransform', $model->seoFacebookImageTransform);
     $model->seoTwitterImageTransform = craft()->request->getPost('seoTwitterImageTransform', $model->seoTwitterImageTransform);
     $model->twitterCardType = craft()->request->getPost('twitterCardType', $model->twitterCardType);
     $model->openGraphType = craft()->request->getPost('openGraphType', $model->openGraphType);
     $model->robots = craft()->request->getPost('robots', $model->robots);
     $model->seoImageId = craft()->request->getPost('seoImageId', $model->seoImageId);
     $model->seoTwitterImageId = craft()->request->getPost('seoTwitterImageId', $model->seoTwitterImageId);
     $model->seoFacebookImageId = craft()->request->getPost('seoFacebookImageId', $model->seoFacebookImageId);
     $model->enabled = (bool) craft()->request->getPost('enabled', $model->enabled);
     $model->getContent()->title = craft()->request->getPost('title', $model->title);
     if (craft()->seomatic->saveMeta($model)) {
         craft()->userSession->setNotice(Craft::t('SEOmatic Meta saved.'));
         $this->redirectToPostedUrl($model);
     } else {
         craft()->userSession->setError(Craft::t('Couldn’t save SEOmatic Meta.'));
         /* -- Send the Meta back to the template */
         craft()->urlManager->setRouteVariables(array('meta' => $meta));
     }
 }