- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试将自定义 block 添加到 SonataAdminBundle 的仪表板。我按照此处的说明 (How to add custom link or button to SonataAdminBundle Dashboard in Symfony2) 进行操作,但出现以下错误:
RuntimeException: The block service `sonata.block.service.processManagement` does not exist
这就是我所做的。我有一个名为“ProcessManagementBlockService.php”的文件,其中包含以下内容:
<?php
namespace IMA\ProcessManagementBundle\Block;
use Symfony\Component\HttpFoundation\Response;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Validator\ErrorElement;
use Sonata\BlockBundle\Model\BlockInterface;
use Sonata\BlockBundle\Block\BlockContextInterface;
use Sonata\BlockBundle\Block\BaseBlockService;
class ProcessManagementBlockService extends BaseBlockService
{
public function getName()
{
return 'My Newsletter';
}
public function getDefaultSettings()
{
return array();
}
public function validateBlock(ErrorElement $errorElement, BlockInterface $block)
{
}
public function buildEditForm(FormMapper $formMapper, BlockInterface $block)
{
}
public function execute(BlockContextInterface $block, Response $response = null)
{
// merge settings
$settings = array_merge($this->getDefaultSettings(), $block->getSettings());
return $this->renderResponse('IMAProcessManagement:Block:blockProcessManagement.html.twig', array(
'block' => $block,
'settings' => $settings
), $response);
}
}
我还创建了一个文件 (views/Block/blockProcessManagement.html.twig),其中包含我想添加到 SonataAdmin 仪表板的 block 模板:
{% extends 'SonataBlockBundle:Block:block_base.html.twig' %}
{% block block %}
<table class="table table-bordered table-striped sonata-ba-list">
<thead>
<tr>
<th colspan="3">Newsletter - inviare</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="btn-group" align="center">
<a class="btn btn-small" href="#">Servizio Newsletter</a>
</div>
</td>
</tr>
</tbody>
</table>
{% endblock %}
此外,我在我的包的 services.yml 文件中有以下内容
services:
# ima_process_management.example:
# class: %ima_process_management.example.class%
# arguments: [@service_id, "plain_value", %parameter%]
sonata.block.service.processManagement:
class: IMA\ProcessManagementBundle\Block\ProcessManagementBlockService
arguments: [ "sonata.block.service.processManagement", @templating ]
tags:
- { name: sonata.block }
我知道这个文件已正确加载,因为我试图将上面几行直接放在 config.yml 中并得到相同的结果。
最后,我在项目的主config.yml文件中添加
sonata_block:
default_contexts: [cms]
blocks:
# Enable the SonataAdminBundle block
sonata.admin.block.admin_list:
contexts: [admin]
# Your other blocks
sonata.block.service.text:
sonata.block.service.rss:
sonata.admin.block.search_result:
sonata.block.service.processManagement: ~
和
sonata_admin:
templates:
dashboard: SonataAdminBundle:Core:dashboard.html.twig
dashboard:
blocks:
- { position: left, type: sonata.admin.block.admin_list }
- { position: left, type: sonata.block.service.processManagement}
我真的不知道为什么我会收到服务不存在的错误...
最佳答案
问题是你如何在 config.yml 中设置字母大小写。始终使用小写来定义服务名称,如果您不这样做,然后 Symfony 会将其转换为小写。
看看 coding standards对于 Symfony。
Service Naming Conventions:
A service name contains groups, separated by dots
The DI alias of the bundle is the first group (e.g. fos_user)
A service name contains groups, separated by dots
Use lowercase letters for service and parameter names
关于php - SonataAdmin - 找不到我要构建的自定义 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389460/
我正在使用Symfony2和SonataAdminBundle。 我需要知道如何在仪表板的左侧添加菜单吗?就像在屏幕上一样: 我需要在页面的左侧部分放置仪表板块(在我的屏幕上呈深灰色)..我该怎么做?
我正在尝试将项目/路线添加到侧边菜单,基本上我有用户,它在仪表板中列出了列表和添加功能,现在我也想在我的侧边栏菜单下添加这些。 我注册了一个服务: #config/services.yml a
我正在使用 SonataAdminBundle,我想知道如何在 edit 中添加自定义表单操作(类似于 Save、Update 和关闭) 似乎没有任何关于它的记录。 我正在尝试添加一个自定义输入字段,
我正在尝试将自定义 block 添加到 SonataAdminBundle 的仪表板。我按照此处的说明 (How to add custom link or button to SonataAdmin
当我尝试列出数据库中的记录时,我遇到了问题,因为我得到的值存储在行中,它是一个整数,但我想要字符串。我如何处理表格?这样: protected function configureFormFields
最近几天我一直在谷歌上疯狂地搜索(没有成功)如何覆盖 SonataAdmin 操作以捕获 session 用户名并将其保存在外键字段中。 附件管理 Controller 类: get('request
我想使用命令 sonata:admin:generate 从实体生成管理员,但每次都会出现以下错误: [RuntimeException] 没有模型经理注册。 知道为什么会这样吗? 最佳答案 我会猜测
作为 Symfony 的新手,花了最后几天的时间尝试找到一个很好的解决方案,将图像上传字段集成到 Sonata Admin 中的现有实体中。我一直在谷歌搜索并遵循可用的指南,但不幸的是我无法弄清楚。
我有一个简单的问题,如何访问 sonataAdmin 中的表单返回的原始 POST 数据? 我有一个使用 Javascript 创建表单的页面,我需要检索这些表单中的数据。问题是这些表单不是实体的属性
我有一个 Sonata Admin 类,其中包含一些表单字段,但我想使用 FormEvents::PRE_SET_DATA事件以根据绑定(bind)的数据动态添加另一个表单字段。 但是,我遇到了几个问
我有一个带有许多状态代码的实体事务。 我希望用户能够在 SonataAdmin 中将这些状态代码视为字符串。用户还应该能够根据这些状态代码进行过滤。 Entity Transaction {
我一直在尝试安装 SonataAdminBundle。我想我遵循了文档,另外我还阅读了一些关于它的博客。但我做不到。 当转到管理/仪表板页面时,我看到了 Sonata Title,我可以在右侧看到 s
在 Symfony2 中处理字符串表示和数字代码翻译的最佳方法是什么? 假设我有这样一个实体: status; } } 在前端和 SonataAdmin 后端,我不想显示数字代码,而是显示字符
首先,我不确定这是奏鸣曲问题还是 Symfony2 问题,这是我第一次使用 Sf2 表单来编辑关系。 这是问题所在: 我有两个类(class),我们称它们为旧的最爱: Car 和 Wheel 。 Ca
我对 SonataAdminBundle 有疑问,我找不到如何更改左侧面板中的“奏鸣曲项目”链接。 我有“我的标题”+一张图片,下面是“奏鸣曲项目”。 我怎样才能改变这个? 最佳答案 为了自定义 So
我正在使用 SonataAdmin(和 Symfony2)来管理我的实体。我在一个步骤和多个任务之间有一个一对多的关系。由于一个步骤可以包含多个任务,因此当我创建一个步骤时,我希望能够创建多个任务并且
我有一个 Fonctionnaire 实体类,其中包含 ManyToOne 属性以对实体类进行评分。当我想将 idGrade 字段添加到 FonctionnaireAdmin 的 ConfigureL
我是一名优秀的程序员,十分优秀!