Php 删除特定管线的“添加新(创建)”按钮
我是ṫ正在尝试删除/stageserver/list路由的添加新按钮 我已尝试使用此代码:Php 删除特定管线的“添加新(创建)”按钮,php,symfony,sonata-admin,symfony-sonata,Php,Symfony,Sonata Admin,Symfony Sonata,我是ṫ正在尝试删除/stageserver/list路由的添加新按钮 我已尝试使用此代码: public function getBatchActions() { $actions = parent::getBatchActions(); if($this->hasRoute('/stageserver/list')) { $actions['remove'] = 'create'; } } 我尝试了下一个代码,但它删除了所有其他管理部
public function getBatchActions()
{
$actions = parent::getBatchActions();
if($this->hasRoute('/stageserver/list'))
{
$actions['remove'] = 'create';
}
}
我尝试了下一个代码,但它删除了所有其他管理部分中的路由
public function configureRoutes(RouteCollection $collection)
{
$collection->remove('create');
}
我在Sonata文档中找不到具体的路径删除,或者我已经找到了
错过了。对于Sonata,您的管理员与单个实体相关 例如,我有一个名为
AppBundle\entity\StageServer
的实体
我创建一个管理服务来管理此实体:
admin.stage_server:
class: AppBundle\Admin\StageServerAdmin
public: true
arguments: [~, AppBundle\Entity\StageServer, ~]
tags:
- { name: sonata.admin, manager_type: orm }
为这项服务提供了一个专门的课程:
<?php
namespace AppBundle\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Route\RouteCollection;
class StageServerAdmin extends AbstractAdmin
{
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('create');
}
}
使用Sonata,您的管理员与单个实体相关 例如,我有一个名为
AppBundle\entity\StageServer
的实体
我创建一个管理服务来管理此实体:
admin.stage_server:
class: AppBundle\Admin\StageServerAdmin
public: true
arguments: [~, AppBundle\Entity\StageServer, ~]
tags:
- { name: sonata.admin, manager_type: orm }
为这项服务提供了一个专门的课程:
<?php
namespace AppBundle\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Route\RouteCollection;
class StageServerAdmin extends AbstractAdmin
{
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('create');
}
}
正如我所说的,第二个代码可以工作,但它删除了要添加服务器的其他地方的路由。路由
/stageserver/list
仅用于检查,添加服务器在其他部分。这就是我尝试使用if语句的原因。我需要的是->在/stageserver/list
路由上时,删除“添加新”按钮,但在需要该元素的其他路由上时,显示该按钮。您可以尝试使用配置操作按钮
并在列表上删除“创建”按钮:是的,可以。我没有编写正确的语法,这就是我的代码没有编写正确语法的原因ṫ 工作。顺便说一句,您编写了未完成的代码,其中是unset
函数,我用缺少的代码编辑了该部分=>'create']代码>谢谢你的帮助!糟糕的是,我没有在IDE中编写代码。。。正如我所说,第二个代码可以工作,但它会在其他需要添加服务器的地方删除该路由。路由/stageserver/list
仅用于检查,添加服务器在其他部分。这就是我尝试使用if语句的原因。我需要的是->在/stageserver/list
路由上时,删除“添加新”按钮,但在需要该元素的其他路由上时,显示该按钮。您可以尝试使用配置操作按钮
并在列表上删除“创建”按钮:是的,可以。我没有编写正确的语法,这就是我的代码没有编写正确语法的原因ṫ 工作。顺便说一句,您编写了未完成的代码,其中是unset
函数,我用缺少的代码编辑了该部分=>'create']代码>谢谢你的帮助!糟糕的是,我没有在IDE中编写代码。。。Thx Nigel Ren用于编辑