Использование пользовательской страницы просмотра для предварительного просмотра изображения в Sonata Admin в проекте Symfony 2

0

У меня есть следующая настройка системы администратора, использующая Sonata Admin в моем проекте SF2. Когда я нажимаю "Просмотр изображения", я хочу показать всплывающее/наложение с изображением или, если проще, новую страницу с изображением. Маршрут для этого настроен как /admin/ayrshireminis/gallery/galleryimage/{id}/view_image

Изображение 174551

У меня есть этот метод в моем CRUDController, в который входит код:

/**
 * preview the image
 *
 * @return RedirectResponse
 */
public function viewImageAction()
{
    // work out which image we are approving based on the ID in the URL
    $id = $this->get('request')->get($this->admin->getIdParameter());

    $object = $this->admin->getObject($id);

    // couldn't find the object
    if (!$object) {
        throw new NotFoundHttpException(sprintf('unable to find the object with id : %s', $id));
    }

    return $this->render('SonataAdminBundle::empty_layout.html.twig', array('image' => $object));

}

Как я не могу найти какую-либо документацию сонаты, чтобы выработать, как просто отобразить пустую страницу (в макете администратора Sonata) с изображением в ней.

Теги:
php-5.3
sonata
sonata-admin

1 ответ

1
Лучший ответ

Если вы хотите отобразить пустую страницу с изображением (в макете администратора Sonata):

// src/ACME/YourBundle/Resources/views/empty_layout.html.twig
{% extends "SonataAdminBundle::standard_layout.html.twig" %}
{% block sonata_page_content %}
<img src="{{ image.src }}" />
{% endblock %}

И в вашем контроллере:

return $this->render('ACMEYourBundle::empty_layout.html.twig', array('image' => $object));

Если вам просто нужна пустая страница без макета администратора, тот же шаблон ветки, но без расширения стандартного макета пакета sonata admin.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню