В Drupal, если поле пустое, используйте другое поле в качестве возврата. правильный синтаксис?

Я столкнулся с проблемой, которую, я надеюсь, легко исправить, но я просто ее не вижу. Я написал некоторый код, предназначенный для поля определенного типа контента … в этом поле, если оно пустое, я хочу, чтобы код возвращал значение другого поля в этом типе контента. Я несколько раз переделывал это, но я застрял. Я надеюсь, что кто-то может указать, что я делаю неправильно. Спасибо

Вот код:

function randomname_preprocess_node__events__sfa_teaser(&$variables) {
// Populates the title variable from the node revision being viewed.
$route_match = \Drupal::routeMatch();
$node = $route_match->getParameter('node');
if ($node) {
if (is_string($node)) {
$node = Node::load($node);
}
$content_type = $node->getType();
if ($content_type === 'randomcontenttypename') {
$parent_title = $node->title->value;
$generic_link = $node->get('field_generic')->uri;
$populated_link_text = $node->get('field_populated_link_text')->value;
if ($entity->get('populated_link_text')) {
$populated_link_text = $entity->get('populated_link_text')->entity;
$variables['populated_link_text'] = [
'#type' => 'link',
'#title' => $populated_link_text->value,
'#url' => $populated_link_text,
];
}
else {
if ($generic_link) {
$generic_link = Url::fromUri($generic_link);
$variables['generic_link'] = [
'#type' => 'link',
'#url' => $generic_link,
'#title' => t('This page will display @parent_title',   ['@parent_title' => $parent_title]),
'#attributes' => ['class' => 'viewalllink'],
];
}
$variables['#cache']['max-age'] = 0;
}
}
}

спасибо за любую помощь, которая может быть брошена на моем пути.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]