在Symfony 2项目的Sonata Admin中使用自定义视图页面进行图像预览

时间:2014-12-10 10:41:54

标签: php symfony php-5.3 sonata-admin sonata

我在SF2项目中使用Sonata Admin进行以下管理系统设置。当我点击“查看图像”时,我想要显示带有图像的弹出/叠加,或者如果它更容易,则显示带有图像的新页面。此路由配置为/admin/ayrshireminis/gallery/galleryimage/{id}/view_image

enter image description here

我的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文档来解决如何只显示空白页面(在Sonata Admin布局中)中的图像。

1 个答案:

答案 0 :(得分:1)

如果要显示带有图像的空白页面(在Sonata Admin布局中):

// 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));

如果您只想要一个没有管理布局的空白页面,相同的树枝模板,但没有扩展奏鸣曲管理包的标准布局。