Тема у сайта gavias_pickor
Гружу ноду нормально
<?php$node = \Drupal\node\Entity\Node::load(114);
$variables['arr1'] = $node ;
?>
А в представлении на выводе
<?php{{ dump( arr1 ) }}
?>
Сайт просто ложится и даже ошибку не показывает.
Вообще итоговая цель скинуть картинку ноды, но пихая код файла в представление
<?php array(1) { [0]=> array(5) { ["target_id"]=> string(3) "208" ["alt"]=> string(1) "1" ["title"]=> string(0) "" ["width"]=> string(4) "1170" ["height"]=> string(3) "658" } }?>
На выводе ничего нет
<?php{{ file_url(arr1.entity.fileuri) }}?>
Однако куски ноды выводит
<?php$variables['arr1'] = $node->get('field_tovar_image')->getValue();?>
И вообще надо бы под стилем картинку рендерить.
Комментарии
В восьмёрке объекты контентных сущностей ни через devel, ни через dump не посмотришь. Надо ставить xdebug - без него никак вообще. Суть в том, что объект той же ноды - довольно сложный по структуре, и помимо собственно полей, в объект могут быть загружены сервисы (которые тоже объекты со сложной структурой) и ещё много чего. И даже если сервер справляется с выдачей такой страницы, то даже на мощном компе может тупо зависнуть браузер.
Попробывал вариант 1 и 2, оба формируют таки урл типа http://ufarc.ru.host1655264.serv69.hostland.pro/sites/default/files/styl...
но оно не рабочее
<?php $hero_image = $node->get('field_tovar_image')->getValue();
if (!empty($hero_image)) {
$variables['arr1'] = \Drupal\file\Entity\File::load($hero_image[0]['target_id']);
/*1*/ //$variables['arr1'] = Drupal\image\Entity\ImageStyle::load('270x145')->buildUrl($entity->uri['x-default'] );
/*2*/
$style = \Drupal::entityTypeManager()->getStorage('image_style')->load('270x145');
$variables['arr1'] = $style->buildUrl($entity->uri['x-default']);
}?>
Эмм... а можешь подсказать как оно работает? Это модуль, который добавляет https://www.drupal.org/project/twig_xdebug
2 ф-ции, которые выводят все переменные шаблона?
пишешь в шаблон {{ breakpoint() }} и иксдебаг сам остановится в этом месте. Естественно, сам иксдебаг должен быть установлен, включен и настроен.
Ясно, спасибо.
И, если чё, пишу как получить картинку под стилем.
<?php$hero_image = $node->get('field_tovar_image')->getValue();
if (!empty($hero_image)) {
$uri = \Drupal\file\Entity\File::load($hero_image[0]['target_id']);
$variables['arr1'] = Drupal\image\Entity\ImageStyle::load('270x145')->buildUrl( $uri);
}?>