【发布时间】:2017-11-01 00:51:53
【问题描述】:
我为奏鸣曲页面创建了一个块,其中包括标题、文本、图像(来自奏鸣曲媒体),并且应该包含指向网站上另一个页面的链接。
考虑到该网站将是双语的(包括 URL),我不能让用户在管理员中键入链接。最好的选择可能是有一个网站上所有活动页面的下拉列表,但我没能做到。
在奏鸣曲页面管理中,当您创建(或编辑)页面时,实际上有这样一个列表,即“目标”字段。所以我挖了一点,发现了 PageSelectorType,它使用了一个叫做 getChoices() 的函数来解决这个问题。但是我没有设法在我的块的管理员中使用该功能(或该字段)。
到目前为止,这是我的块表:
public function buildEditForm(FormMapper $formMapper, BlockInterface $block)
{
$formMapper
->add('settings', 'sonata_type_immutable_array', array(
'keys' => array(
array('title', 'text', array('required' => false)),
array('texte', 'text', array('required' => false)),
array($this->getMediaBuilder($formMapper), null, array('context' => 'media_accueil')),
)
))
;
}
有什么想法吗?
【问题讨论】:
标签: symfony sonata-admin sonata