Как отобразить или распечатать предварительную обработку узла в шаблоне региона - PullRequest
0 голосов
/ 29 октября 2018

Я делаю ссылку на сущность для извлечения узла из-под определенного контента. Я смотрю, как я могу отобразить функцию ссылки на сущность, которую я только что создал, в мой шаблон region.html.twig. Ниже приведен фрагмент кода, над которым я сейчас работаю

// Page region level pre-processing
function iom_preprocess_region(&$variables) {


    if ($node = \Drupal::routeMatch()->getParameter('node')) {
        $variables['content_type'] = $node->bundle();
    }


    $elements = $variables['elements'];

    if (array_key_exists('#entity', $elements)) {
        $region = $elements['#region'];
        $entity = $elements['#entity'];
        $bundle = _overrideBundle($entity->bundle());

        preprocess($region, 'region', $entity, $variables);
        preprocess($region."_{$bundle}", 'region', $entity, $variables);
    }
}  

function _preprocess_country_regional_offices_node($entity, &$variables) {

    $entityStorage = \Drupal::service('entity_type.manager')->getStorage('node');
    $regionalOffices = \Drupal::service('entity.query')
        ->get('node')
        ->condition('status', 1, '=')
        ->condition('type', 'regional_office')
        ->condition('field_primary_offices', '1')
        ->sort('created', 'DESC')
        ->execute();

    $regionalOfficeEntities = $entityStorage->loadMultiple($regionalOffices);
    $variables['regional_office'] = $regionalOfficeEntities;


}

1 Ответ

0 голосов
/ 20 ноября 2018

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

$output = render(
  \Drupal::entityTypeManager()
  ->getViewBuilder('node')
  ->view($node, 'teaser')
);
...