Skip to content

Commit

Permalink
Set an image's alt and title fields from item title, if they are not …
Browse files Browse the repository at this point in the history
…set.
  • Loading branch information
LOBsTerr committed Oct 10, 2023
1 parent 4343167 commit 691d039
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ source:
name: item_id
label: 'Item ID'
selector: 'infsonewsroom:BasicId/text()'
-
name: title
label: Title
selector: 'title[@lang="EN"]/text()'
-
name: item_name
label: Name
Expand Down
13 changes: 10 additions & 3 deletions modules/newsroom_connector_item/newsroom_connector_item.module
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,20 @@ function newsroom_connector_item_migrate_prepare_row(

// Set title as alt text if it is empty.
if (strpos($migration_id, 'newsroom_item_image_media_translations') !== FALSE || $migration_id == 'newsroom_item_image_media') {
$newsroom_item_title = $row->getSourceProperty('item_name');
$image_alt = $row->getSourceProperty('image_alt');
$picture_title = $row->getSourceProperty('item_name');
if (empty($picture_title)) {
// Set item title as picture title if it's empty.
$picture_title = $row->getSourceProperty('title');
$row->setSourceProperty('image_alt', $picture_title);
$row->setSourceProperty('item_name', $picture_title);
}

$image_alt = $row->getSourceProperty('image_alt');
if (empty($image_alt)) {
$row->setSourceProperty('image_alt', $newsroom_item_title);
$row->setSourceProperty('image_alt', $picture_title);
}
}

}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ protected function getDerivativeValues(array $base_plugin_definition, LanguageIn
'default_value' => $language_id,
];

// Title.
$base_plugin_definition['source']['fields'][] = [
'name' => 'title',
'label' => 'Title',
'selector' => 'title[@lang="' . $language_code . '"]/text()',
];

// Name.
$base_plugin_definition['source']['fields'][] = [
'name' => 'image_name',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ function newsroom_connector_service_migrate_prepare_row(

// Set title as alt text if it is empty.
if (strpos($migration->id(), 'newsroom_service_logo_media_translations') !== FALSE || $migration->id() == 'newsroom_service_logo_media') {
$newsroom_item_title = $row->getSourceProperty('item_name');
$image_alt = $row->getSourceProperty('image_alt');

if (empty($image_alt)) {
$row->setSourceProperty('image_alt', $newsroom_item_title);
$title = $row->getSourceProperty('service_name');
$row->setSourceProperty('image_alt', $title);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ class NewsroomServiceLogoLanguageDeriver extends BaseNewsroomLanguageDeriver {
protected function getDerivativeValues(array $base_plugin_definition, LanguageInterface $language, $language_code) {
$language_id = $language->getId();

$base_plugin_definition['source']['fields'][] = [
'name' => 'service_name',
'label' => 'Name',
'selector' => 'title[@lang="' . $language_code . '"]/text()',
];

$base_plugin_definition['process']['langcode'] = [
'plugin' => 'default_value',
'default_value' => $language_id,
Expand Down

0 comments on commit 691d039

Please sign in to comment.