コード例 #1
0
 public function actionSaveDefault()
 {
     $this->requirePostRequest();
     // check if this is a new or existing default
     if (craft()->request->getPost('sproutseo_fields[id]') == null) {
         $id = false;
     } else {
         $id = craft()->request->getPost('sproutseo_fields[id]');
     }
     $model = new SproutSeo_MetaModel();
     $model->id = $id;
     $defaultFields = craft()->request->getPost('sproutseo_fields');
     // Convert Checkbox Array into comma-delimited String
     if (isset($defaultFields['robots'])) {
         $defaultFields['robots'] = SproutSeoMetaHelper::prepRobotsAsString($defaultFields['robots']);
     }
     // Make our images single IDs instead of an array
     $defaultFields['ogImage'] = !empty($defaultFields['ogImage']) ? $defaultFields['ogImage'][0] : null;
     $defaultFields['twitterImage'] = !empty($defaultFields['twitterImage']) ? $defaultFields['twitterImage'][0] : null;
     $model->setAttributes($defaultFields);
     if (sproutSeo()->defaults->saveDefault($model)) {
         craft()->userSession->setNotice(Craft::t('New default saved.'));
         $this->redirectToPostedUrl();
     } else {
         craft()->userSession->setError(Craft::t("Couldn't save the default."));
         // Send the field back to the template
         craft()->urlManager->setRouteVariables(array('default' => $model));
     }
 }
 /**
  * Determines if a global fallback setting already exists
  *
  * @return id | null
  */
 public function globalFallbackId()
 {
     $globalFallbackMetaModel = new SproutSeo_MetaModel();
     $globalFallbackMetaModel->setMeta('fallback');
     if ($globalFallbackMetaModel->id) {
         return $globalFallbackMetaModel->id;
     }
     return null;
 }