【问题标题】:Sonata Admin Bundle clickable FieldSonata Admin Bundle 可点击字段
【发布时间】:2015-05-07 15:21:17
【问题描述】:

我将稍微描述一下我的模型架构以了解我的问题:我正在开发一个 Symfony2 网络应用程序。

我安装了 sonataMongoDB Admin Bundle 来创建我的 Admin 部分。 该应用程序是一个在线测验,实际上我有一个文档用户,它引用了许多文档测验。当我显示用户列表时,我需要使测验字段变为可点击状态才能进入测验并查看结果。

下面是 ConfigureListFields 函数的代码:

    protected function configureListFields(ListMapper $listMapper)
{
    $listMapper
    ->addIdentifier('email')
    ->add('firstName')
    ->add('lastName')
    ->add('quizz', null, array('label' => 'Quiz Passd : Result'))

    ->add('_action', 'actions', array(
        'actions' => array(
            'inscription' => array('template' => 'ATSAdminBundle:CRUD:list__action_inscription.html.twig'),
            'edit' => array(),
            )
        ))
    ;
}

这里是我如何获得我的 Quiz 对象:

  public function __toString() 
{
    return $this->getResult() ; 
}

但我希望测验字段变得可点击,而不是像简单的字符串那样显示。

【问题讨论】:

    标签: mongodb symfony sonata-admin


    【解决方案1】:

    我认为默认情况下列表视图不会链接一对多的对象。 您可以通过创建一个自定义模板来做到这一点(就像您对操作所做的那样),您可以在其中循环测试并链接它们,例如:

    {% block field %}
    <div>
        {% foreach object.quizzes as quizz %}
        ....
        {% foreach %}
    </div>
    {% endblock %}
    

    https://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/list_field_definition.html#custom-template

    如果测验是单个相关对象,您只需要另一个用于测验的管理类并允许 showedit 规则。默认情况下,奏鸣曲将链接到edit 规则。因此,如果您没有编辑测验的角色,则不会链接任何内容。也许这是你的主要问题。

    如果是你的情况,试试这段代码来验证它:

    ->add('quizz', null, array('label' => 'Quiz Passd : Result', 'route' => 'show'))
    

    最后但同样重要的是,在父对象的显示视图中链接到show 路由更为常见。然后,您可以在选项卡菜单中添加您的测验:

    protected function configureTabMenu(MenuItemInterface $menu, $action, AdminInterface $childAdmin = null)
    {
        $menu->addChild($this->trans('Quizzes'), array(
            'uri' => $admin->generateUrl('sonata.admin.quizz.list', array('id' => $id)),
        ));
    }
    

    【讨论】:

      猜你喜欢
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2016-04-20
      • 1970-01-01
      • 2016-10-11
      • 2013-03-06
      • 2017-05-18
      相关资源
      最近更新 更多