gpt4 book ai didi

php - Symfony 2 Sonata Admin Bundle 的表演 Action 不起作用

转载 作者:行者123 更新时间:2023-12-02 15:25:44 27 4
gpt4 key购买 nike

我正在整合 Sonata Admin Bundle按照 Symfony 2 jobeet tutorial 进入我的 Symfony 2.6 应用程序.一切都很好,除了the Show action .我有一份完整的“工作”,所以我有 src/Ibw/JobeetBundle/Admin/JobAdmin.php有一个函数 configurShowField(ShowMapper $showMapper)如下图

<?php
namespace Ibw\JobeetBundle\Admin;

use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Validator\ErrorElement;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;

use Ibw\JobeetBundle\Entity\Job;

class JobAdmin extends Admin
{
// ....

protected function configureShowField(ShowMapper $showMapper)
{
$showMapper
->add('category')
->add('type')
->add('company')
->add('webPath', 'string', array('template' => 'IbwJobeetBundle:JobAdmin:list_image.html.twig'))
->add('url')
->add('position')
->add('location')
->add('description')
->add('how_to_apply')
->add('is_public')
->add('is_activated')
->add('token')
->add('email')
->add('expires_at')
;
}

// ....
}

当我单击“显示”按钮并转到查看页面 (admin/ibw/jobeet/job/xxx/show) 时,它没有显示任何字段。处理后的原模板为/vendor/sonata-project/admin-bundle/Resources/views/CRUD/base_show.html.twig :

{% extends base_template %}

{% block actions %}
<li>{% include 'SonataAdminBundle:Button:edit_button.html.twig' %}</li>
<li>{% include 'SonataAdminBundle:Button:history_button.html.twig' %}</li>
<li>{% include 'SonataAdminBundle:Button:list_button.html.twig' %}</li>
<li>{% include 'SonataAdminBundle:Button:create_button.html.twig' %}</li>
{% endblock %}

{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active', 'template': admin_pool.getTemplate('tab_menu_template')}, 'twig') }}{% endblock %}

{% block show %}
<div class="sonata-ba-view">
***
{{ sonata_block_render_event('sonata.admin.show.top', { 'admin': admin, 'object': object }) }}

{% for name, view_group in admin.showgroups %}
<table class="table table-bordered">
{% if name %}
<thead>
{% block show_title %}
<tr class="sonata-ba-view-title">
<th colspan="2">
{{ admin.trans(name) }}
</th>
</tr>
{% endblock %}
</thead>
{% endif %}

<tbody>
{% for field_name in view_group.fields %}
{% block show_field %}
<tr class="sonata-ba-view-container">
{% if elements[field_name] is defined %}
{{ elements[field_name]|render_view_element(object) }}
{% endif %}
</tr>
{% endblock %}
{% endfor %}
</tbody>
</table>
{% endfor %}

{{ sonata_block_render_event('sonata.admin.show.bottom', { 'admin': admin, 'object': object }) }}

</div>
{% endblock %}

<div class="sonata-ba-view"></div>的内容除了我打印的三个星号外没有显示。我缺少任何配置吗?

最佳答案

您的函数名称中缺少 s。

configureShowFields(FormMapper $formMapper)

不是

configureShowField(FormMapper $formMapper)

关于php - Symfony 2 Sonata Admin Bundle 的表演 Action 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30487648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com