Рейтинг:0

Повторно используйте $view->result после получения значений поля построчно

флаг br

Внутри hook_views_pre_render (ViewExecutable $ представление): Когда я пытаюсь получить и использовать значения полей из $ вид-> результат, я больше не мог использовать $ вид-> результат сразу после этого выполнение прерывается без отображения явных ошибок. Например:

функция custom_divers_views_pre_render (ViewExecutable $ view) {
  if ($view->id() == 'localisation_front' && $view->current_display == 'block_1') {
        
    // Этот код хорошо выполнен.
    \Drupal::logger('custom_divers')->notice(print_r($view->result, TRUE));

    foreach ($view->результат как $результат) {
      // Получение этого значения работает.
      $type_value = $result->_entity->type->getValue()[0]['target_id'];
      \Drupal::logger('custom_divers')->notice("type_value: ".$type_value);
    }

    // Но этот код больше не выполняется.
    \Drupal::logger('custom_divers')->notice(print_r($view->result, TRUE));     
  }
}
berliner avatar
флаг bd
Это полный код?
ostry.sn avatar
флаг br
нет, это выписка
berliner avatar
флаг bd
Пожалуйста, опубликуйте полный код. То, что вы опубликовали, не должно создавать проблему, которую вы описываете, поэтому проблема должна быть в другом месте.
ostry.sn avatar
флаг br
хорошо, полный код добавлен
berliner avatar
флаг bd
Что-нибудь в журналах сервера/php?
ostry.sn avatar
флаг br
Хорошо, я нашел в журналах apache «Разрешенный размер памяти 671088640 байт исчерпан» для второго вызова \Drupal::logger

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.