/** * Refreshes content object attributes for current fields. * Mandatory to update good attributes when publishing * @param eZContentObjectVersion $version Draft to be published * @see SQLIContentPublisher::publish() */ public function refreshDataMap(eZContentObjectVersion $version) { $contentObject = $version->contentObject(); // Copy missing translations from published version to current draft if needed eZContentOperationCollection::copyTranslations($contentObject->attribute('id'), $version->attribute('version')); $dataMap = $contentObject->fetchDataMap($version->attribute('version'), $this->language); foreach ($this->fields as $fieldName => $field) { if (isset($dataMap[$fieldName])) { $field->setRawAttribute($dataMap[$fieldName]); } else { eZDebug::writeWarning(__METHOD__ . ' => Attribute "' . $fieldName . '" not set in data map. Cannot refresh field.', 'SQLIImport'); } } }