如何在表单中隐藏父文档字段?我有一些块将被修复并且不想显示父文档字段。我尝试将 css 类或内联样式传递给该字段,但在呈现该字段后它不会出现。
尝试 1
示例代码:
->add(
'parentDocument',
'doctrine_phpcr_odm_tree',
array('attr' => ['style' => 'display:none !important'], 'root_node' => $this->getRootPath(), 'choice_list' => array(), 'select_root_node' => true)
)
尝试 2
我还尝试隐藏该字段,将字符串作为默认数据传递给该字段,设置一个 prepersist 事件以使用所需的父文档覆盖该字符串。虽然这适用于未嵌入的块,但它也触发了幻灯片块的副作用,除非存在孩子的父文档字段,否则我无法保存我的子块。
子块示例代码:
形式:
->with('form.group_general')
->add('parentDocument', 'hidden', ['required' => false, 'data' => 'filler'])
->add('name', 'hidden', ['required' => false, 'data' => 'filler'])
->end();
预存:
public function prePersist($document)
{
parent::prePersist($document);
$this->initialiseDocument($document);
}
private function initialiseDocument(&$document)
{
$documentManager = $this->getModelManager();
$parentDocument = $documentManager->find(null, $this->getRootPath());
$document->setParentDocument($parentDocument);
$slugifier = new Slugify();
$document->setName($slugifier->slugify($document->getTitle()));
}
错误:
ERROR -
Context: {"exception":"Object(Sonata\\AdminBundle\\Exception\\ModelManagerException)","previous_exception_message":"Warning: get_class() expects parameter 1 to be object, string given"}
总结尝试 2,当子文档的父文档字段保留为默认值时,幻灯片块可以正常工作。但我想隐藏那个领域!