public function storeFieldData(VersionInfo $versionInfo, Field $field, array $context)
{
/** @var \eZ\Publish\Core\FieldType\Url\UrlStorage\Gateway $gateway */
$gateway = $this->getGateway($context);
$url = $field->value->externalData;
if (empty($url)) {
return false;
}
$map = $gateway->getUrlIdMap(array($url));
if (isset($map[$url])) {
$urlId = $map[$url];
} else {
$urlId = $gateway->insertUrl($url);
}
$gateway->linkUrl($urlId, $field->id, $versionInfo->versionNo);
$field->value->data['urlId'] = $urlId;
// Signals that the Value has been modified and that an update is to be performed
return true;
}