/**
  * {@inheritdoc}
  */
 public function preSave()
 {
     parent::preSave();
     // Merge field defaults on top of global ones.
     $default_tags = metatag_get_default_tags();
     // Get the value about to be saved.
     $current_value = $this->value;
     $current_tags = unserialize($current_value);
     // Only include values that differ from the default.
     // @TODO: When site defaults are added, account for those.
     $tags_to_save = [];
     foreach ($current_tags as $tag_id => $tag_value) {
         if (!isset($default_tags[$tag_id]) || $tag_value != $default_tags[$tag_id]) {
             $tags_to_save[$tag_id] = $tag_value;
         }
     }
     // Update the value to only save overridden tags.
     $this->value = serialize($tags_to_save);
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  */
 public function preSave()
 {
     parent::preSave();
     // Get the field's default values.
     $field_default_tags_value = $this->getFieldDefaults();
     $field_default_tags = unserialize($field_default_tags_value[0]['value']);
     // Get the value about to be saved.
     $current_value = $this->value;
     $current_tags = unserialize($current_value);
     // Only include values that differ from the default.
     // @TODO: When site defaults are added, account for those.
     $tags_to_save = array();
     foreach ($current_tags as $tag_id => $tag_value) {
         if ($tag_value != $field_default_tags[$tag_id]) {
             $tags_to_save[$tag_id] = $tag_value;
         }
     }
     // Update the value to only save overridden tags.
     $this->value = serialize($tags_to_save);
 }
 /**
  * {@inheritdoc}
  */
 public function preSave()
 {
     parent::preSave();
     $choices = $this->value;
     mailchimp_lists_process_subscribe_form_choices($choices, $this, $this->getEntity());
 }