Я пытаюсь отобразить изображение моего продукта в списке администраторов сонаты.Render image in sonata admin List. [LiipImagineBundle]
В моей странице индекса я рендеринг мой продукт, как это:
{% for entity in entity %}
<span><img alt="airline" width="500" height="400" src="{{ entity.image.path}}" ></span>
{% endfor %}
Я попытался сделать то же самое, но это не работает.
Итак, я решил установить LiipImagineBundle, и это то, что я сделал.
ProductAdmin.php
->add('image.id', null, array('template' => 'ApplicationSonataBackcommerceBundle::list_image.html.twig'))
list_image.html.twig
{% extends 'SonataAdminBundle:CRUD:base_list_field.html.twig' %}
{% block field%}
<div>
{% for entity in entity %}
<img src="{{ entity.image.path | imagine_filter('productThumb') }}" />
{% endfor %}
</div>
{% endblock %}
config.yml
liip_imagine:
resolvers:
default:
web_path: ~
filter_sets:
cache: ~
productThumb:
quality: 90
filters:
thumbnail: { size: [47, 42], mode: outbound }
У меня есть эта ошибка при обновлении страницы:
Исключение было брошено во время рендеринга шаблона («Извещение: Undefined индекс: сущности») в ApplicationSonataBackcommerceBundle :: list_image.html.twig в строке 4.
EDIT
Это полный метод дополню:
/**
* @param \Sonata\AdminBundle\Datagrid\ListMapper $listMapper
*
* @return \Sonata\AdminBundle\Datagrid\ListMapper
*/
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('id')
->add('user.id')
->add('image.id', null, array('template' => 'ApplicationSonataBackcommerceBundle::list_image.html.twig'))
->add('airport', null, array('editable' => true))
->add('airport1', null, array('editable' => true))
->add('departuredate')
->add('arrivaldate')
->add('price')
->add('telephone', null, array('editable' => true))
->add('_action', 'actions', array(
'actions' => array(
'show' => array(),
'edit' => array(),
'delete' => array(),
)
));
return $listMapper;
}
Это сгенерированный HTML только из двух изображений:
<td class="sonata-ba-list-field sonata-ba-list-field-integer" objectId="7">
<div>
<img src="http://127.0.0.1/symfony/web/app_dev.php/media/cache/resolve/productThumb/symfony/web/airline/Emirates.png" />
</div>
</td>
<td class="sonata-ba-list-field sonata-ba-list-field-integer" objectId="9">
<div>
<img src="http://127.0.0.1/symfony/web/app_dev.php/media/cache/resolve/productThumb/symfony/web/airline/Singapore_Airlines.svg" />
</div>
</td>
Вы не передаете шаблон объекта в шаблон. Вы можете показать полный метод 'add' – Naumov
i обновил мое сообщение, вы можете проверить сверху. – Sirius
Ребята, я все еще застрял. Пожалуйста, мне нужна помощь. – Sirius