SonataAdmin 包中 dataGrid 的数据

Posted

技术标签:

【中文标题】SonataAdmin 包中 dataGrid 的数据【英文标题】:data of dataGrid in SonataAdmin bundle 【发布时间】:2013-12-28 07:17:41 【问题描述】:

我尝试获取我在类中配置的字段的值,该字段在函数 configureFormFields 中扩展了 Admin。 我想将它作为我创建的自定义操作的参数附加。 知道如何获取它吗?我想根据管理员中一行中的字段将“测试”更改为一个值。

管理员代码

protected function configureListFields(ListMapper $list) 
    $list ->add('_action','actions',array('actions' => array('run' => array('template' => 'AcmePortalBundle:Files:action.html.twig'), ))) 
        ->addIdentifier('name') 
        ->add('serverPath');  

树枝模板 action.html.twig

 % if admin.isGranted('EDIT', object) and admin.hasRoute('edit') %  
<a href=" path('upload', 't': 'test' ) "> 
  <img src=" asset('bundles/sonataadmin/famfamfam/server_connect.png') " /> 
</a>
 % endif % 

【问题讨论】:

我们的任何代码可能来自您的管理类? class FilesSettingAdmin extends Admin protected function configureListFields(ListMapper $list) $list -&gt;add('_action','actions',array('actions' =&gt; array('run ' =&gt; array('template' =&gt; 'AcmePortalBundle:Files:action.html.twig'), ))) -&gt;addIdentifier('name') -&gt;add('serverPath'); action.html.twig % if admin.isGranted('EDIT', object) 和 admin.hasRoute('edit') % <a href="/default/index/tourl?u=e3sgcGF0aCgndXBsb2FkJywgeyd0JzogJyB0ZXN0JyB9KSB9fQ%3D%3D"> </a> % endif % 在 TWIG 中我想将 我的意思是在你原来的帖子中的“一堆代码”,通过编辑它塞拉! 抱歉编辑我的原始信息。我没有注意到它没有将其格式化为评论中的代码。 【参考方案1】:

数据网格值在变量“值”中:) 扩展基本列表字段并在模板中使用值。不要忘记测试空值

% extends admin.getTemplate('base_list_field') %

% block field%
    %- if value is empty -%
    &nbsp; //or something other
    %- else -%
        <a href=" path('upload', 't': value ) "> 
        ....
    %- endif -%
% endblock %

【讨论】:

我找到了一个解决方案,可以作为对我原件的回复发布,但您的回答实际上回答了我的问题。我最后决定传递 ID 而不是 var 名称。一件事可能我不清楚,我想改变行动的路线。我应该使用哪个模板?因为我找不到 base_action_field 树枝文件。 base_list_field 的模板位于 \vendor\sonata-project\admin-bundle\Sonata\AdminBundle\Resources\views\CRUD\base_list_field.html.twig (Sonata v 2.1)

以上是关于SonataAdmin 包中 dataGrid 的数据的主要内容,如果未能解决你的问题,请参考以下文章

Sonata Admin MongoDB DataGrid 过滤器

奏鸣曲管理员获取所有列表项

SonataAdmin,在左侧添加菜单

SonataAdmin - 每个表单的自定义表单模板

Symfony Sonata 媒体包

SonataAdmin 不显示左侧菜单,也不显示“admin.users”或“admin.people”应具有的链接