如何在sonata管理类中将自定义选项添加到FormMapper?
我在管理类中有与实体相关的表单。出于某种原因我想添加我自己的选项到一个领域
$formMapper
->with('tab.dimension')
->add('dimension', 'collection', array(
'type' => 'dimension_product',
'allow_add' => true,
'allow_delete' => true,
'required' => false,
'my_custom_options' => false,
))
->end();
不幸的是,这种方式是不可能的,因为这个选项没有在解析器中定义。但是我不能以“正常方式”访问解析器。Sonata用两种方法定义表单生成器:
public function getFormBuilder()
{
$this->formOptions['data_class'] = $this->getClass();
$formBuilder = $this->getFormContractor()->getFormBuilder(
$this->getUniqid(),
$this->formOptions
);
$this->defineFormBuilder($formBuilder);
return $formBuilder;
}
public function defineFormBuilder(FormBuilder $formBuilder)
{
$mapper = new FormMapper($this->getFormContractor(), $formBuilder, $this);
$this->configureFormFields($mapper);
foreach ($this->getExtensions() as $extension) {
$extension->configureFormFields($mapper);
}
$this->attachInlineValidator();
}
此对象中定义了允许的选项:
new FormMapper($this->getFormContractor(), $formBuilder, $this);
有人能给我建议,我如何添加自己的选项?
派对有点晚了,但这取决于你想用这个选项做什么。
如果您需要添加一个真正的自定义表单选项,那么它与直接使用Symfony表单没有太大区别。您可以使用表单扩展向给定表单类型添加额外的选项和功能。您甚至可以通过这种方式为奏鸣曲式类型添加功能。
如果您只需要将选项从一个管理员传递给一个子管理员(我认为您可能想要这样做),您可以使用字段描述选项,而不是实际的表单选项:
$formMapper
->with('tab.dimension')
->add('dimension', 'collection', array(
'type' => 'dimension_product',
'allow_add' => true,
'allow_delete' => true,
'required' => false,
), array(
'my_custom_options' => false,
))
->end();
现在在您的子管理员中,您可以使用
$this->getParentFieldDescription()->getOptions();
用于配置您的子管理员。
问题内容: 我有一个具有以下字段和关联的商家实体:- 标签和类别也具有ManyToMany映射。因此,我们有Tag_Category,Merchant_Tag,Merchant_Category映射表。 现在,我想在这些字段上执行一些ajax。 我想允许用户首先选择主要标签。在主要标签的基础上,ajax将类别刷新为仅属于该标签的类别,并进行其他一些操作。 我该如何实现? 谢谢! 问题答案: 几个月
有些容器应用程序不提供新建菜单栏的方法,因此,需用 Visual Basic 创建菜单栏。在用 Visual Basic 创建了一个菜单栏之后,就可用容器应用程序接口或继续用 Visual Basic 定义该菜单栏。 在运行时间添加菜单栏 要在运行时间给应用程序添加一个菜单栏,可用CommandBars 集合的Add 方法并将MenuBar 参数指定为 True。以下示例将添加一个不可移动的菜单栏
我想在portlet的管理菜单中添加另一项。例如,在外观和配置之间添加一项“组织”。有可能吗?? 然而,我在配置菜单中测试了一个新的配置页面。 所以我添加了portlet。xml: 在liferay portlet中。xml: 我的ConfigurationActionPrenalyticImpl如下所示: 但是我不知道如何正确地初始化这个页面,比如doView或doEdit中的一些内容。
我已按照此说明为我的WooCommerce订单添加自定义订单状态。 我找不到创建自定义操作按钮的方法,该按钮可将订单状态从管理订单列表页面更改为我的自定义状态,如下图所示: 我想为具有“处理”状态的订单显示此自定义操作按钮。 我在WooCommerce留档中找不到任何答案。 有没有钩子可以套用这些按钮? 如何将其添加到中? 非常感谢。
当我尝试安装sonata admin和LiipFunctionalTestBundle时,它给我一个验证器问题, FileLoaderLoadExc0019:可捕获的致命错误:参数1传递给Sonata\AdminBundle\Admin\Admin::setValidator()必须实现接口Symfony\Component\Validator\ValidatorInterface,Liip\Fu
我的WooCommerce版本是4.5。2. 我想删除自定义用户的添加顺序,使其无法访问。 我已使用具有以下权限的用户角色编辑器创建了自定义用户: 这样,用户只能查看现有订单,并单击订单预览更新为“已完成”。 我试着用这个: ...但订单主菜单变得不可访问。 我偶然发现这篇文章删除或隐藏批量订单面板上的WooCommerce上的“添加新”按钮,该按钮使用CSS从页面上隐藏“添加订单”。 我希望有人
需要新增2个页面 第一个是WebContent/page/simple_role.jsp, 这是authority.jsp页面的外框 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.
问题内容: 我试图弄清楚如何向将管理一些构建的Jenkins添加管理构建,以及如何将参数从管理构建传递到子构建。 问题答案: 您正在寻找参数化触发器插件。 安装插件后,请参考下面的第二张快照。转到项目页面。搜索。之后,点击 快照上方是父作业A,其中我正在定义一个字符串参数,该参数将在其子作业B中使用。 快照还是父作业A的快照,我在其中指定了下游(子)作业B并启用了该操作, 这将确保父作业A中定义的