Link.php in Feeds 8.3
File
src/Feeds/Target/Link.php
View source
<?php
namespace Drupal\feeds\Feeds\Target;
use Drupal\Core\Field\FieldDefinitionInterface;
use Drupal\feeds\FieldTargetDefinition;
use Drupal\feeds\Plugin\Type\Target\FieldTargetBase;
class Link extends FieldTargetBase {
protected static function prepareTarget(FieldDefinitionInterface $field_definition) {
return FieldTargetDefinition::createFromFieldDefinition($field_definition)
->addProperty('uri')
->addProperty('title');
}
protected function prepareValue($delta, array &$values) {
$values['uri'] = trim($values['uri']);
if (in_array($values['uri'], [
'<nolink>',
'<none>',
], TRUE)) {
$values['uri'] = 'route:' . $values['uri'];
}
elseif (!empty($values['uri']) && parse_url($values['uri'], PHP_URL_SCHEME) === NULL) {
if (strpos($values['uri'], '<front>') === 0) {
$values['uri'] = '/' . substr($values['uri'], strlen('<front>'));
}
if (in_array($values['uri'][0], [
'/',
'?',
'#',
], TRUE)) {
$values['uri'] = 'internal:' . $values['uri'];
}
}
}
}
Classes
Name |
Description |
Link |
Defines a link field mapper. |