Symfony2 Sonata Admin IvoryCKEditor 由于某种原因渲染错误
Symfony2 Sonata Admin IvoryCKEditor wrong render for some reason
我正在尝试将 IvoryCKEditor Bundle 实施到我的 SonataAdmin 实体中,我目睹了一些非常奇怪的事情 errors/bugs/mistakes...我什至不知道...
因此,当我想呈现一个简单的文本区域字段并向其添加一些长文本时,我只需执行如下操作:
/**
* @param FormMapper $formMapper
*/
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
// ->add('id', 'hidden')
->add('name')
->add('contentEn', 'ckeditor', array(
'attr' => array('cols' => '8', 'rows' => '8')))
->add('contentEs', 'ckeditor', array(
'attr' => array('cols' => '8', 'rows' => '8')))
->add('status')
;
}
这很有用。但是,如果我有映射的实体并且我想显示它的字段,我会使用奏鸣曲集合:
->add('translations', 'sonata_type_collection',
array(
'required' => false,
'label' => false,
),
array(
'edit' => 'inline',
'inline' => 'standard',
)
)
然后在映射实体管理中我再次执行此操作:
$formMapper
->with('Item Info')
//->add('id')
->add('product_name')
->add('description_for_lbi', 'ckeditor')
->add('short_description', 'ckeditor')
->add('long_description', 'ckeditor')
->add('conditions', 'ckeditor')
->add('language', null, array('required' => true))
->end()
;
问题来了。它似乎以完全不同的方式呈现集合中的 ckeditor 形式。
第一个示例呈现 iframe 并使 ckeditor 看起来 "clean"。
在集合中,ckeditor 以完全不同的方式呈现,没有 iframe。为了让编辑器显示,我必须先单击该字段。该字段没有边框...我真的不知道知道怎么解释了。
所以我想我的问题是,当我在集合中使用它时,为什么 ckeditor 呈现完全不同。我做错了什么吗?
如果你们不明白我的意思,我可以post一些屏幕...
更新
我认为问题出在这里:
'edit' => 'inline',
'inline' => 'standard',
这让编辑器看起来很糟糕。但是,如果我删除这些行,我会收到错误消息:
Error: Maximum function nesting level of '100' reached, aborting!
此错误是在我尝试编辑对象时出现的
您的编辑完全正确。如果您有 2 个或更多 ckeditor 配置实例,则 ckeditor 中的内联编辑会中断。
我的建议是放弃内联编辑。
对于第二部分,错误来自于xdebug,它不能遵循你的对象嵌套级别,因为它超过了这个限制。
为了解决这个问题(推荐,因为 limit = 100 对于 symfony2 来说太低了),请参阅 this
文章.
我正在尝试将 IvoryCKEditor Bundle 实施到我的 SonataAdmin 实体中,我目睹了一些非常奇怪的事情 errors/bugs/mistakes...我什至不知道...
因此,当我想呈现一个简单的文本区域字段并向其添加一些长文本时,我只需执行如下操作:
/**
* @param FormMapper $formMapper
*/
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
// ->add('id', 'hidden')
->add('name')
->add('contentEn', 'ckeditor', array(
'attr' => array('cols' => '8', 'rows' => '8')))
->add('contentEs', 'ckeditor', array(
'attr' => array('cols' => '8', 'rows' => '8')))
->add('status')
;
}
这很有用。但是,如果我有映射的实体并且我想显示它的字段,我会使用奏鸣曲集合:
->add('translations', 'sonata_type_collection',
array(
'required' => false,
'label' => false,
),
array(
'edit' => 'inline',
'inline' => 'standard',
)
)
然后在映射实体管理中我再次执行此操作:
$formMapper
->with('Item Info')
//->add('id')
->add('product_name')
->add('description_for_lbi', 'ckeditor')
->add('short_description', 'ckeditor')
->add('long_description', 'ckeditor')
->add('conditions', 'ckeditor')
->add('language', null, array('required' => true))
->end()
;
问题来了。它似乎以完全不同的方式呈现集合中的 ckeditor 形式。
第一个示例呈现 iframe 并使 ckeditor 看起来 "clean"。
在集合中,ckeditor 以完全不同的方式呈现,没有 iframe。为了让编辑器显示,我必须先单击该字段。该字段没有边框...我真的不知道知道怎么解释了。
所以我想我的问题是,当我在集合中使用它时,为什么 ckeditor 呈现完全不同。我做错了什么吗?
如果你们不明白我的意思,我可以post一些屏幕...
更新
我认为问题出在这里:
'edit' => 'inline',
'inline' => 'standard',
这让编辑器看起来很糟糕。但是,如果我删除这些行,我会收到错误消息:
Error: Maximum function nesting level of '100' reached, aborting!
此错误是在我尝试编辑对象时出现的
您的编辑完全正确。如果您有 2 个或更多 ckeditor 配置实例,则 ckeditor 中的内联编辑会中断。 我的建议是放弃内联编辑。
对于第二部分,错误来自于xdebug,它不能遵循你的对象嵌套级别,因为它超过了这个限制。 为了解决这个问题(推荐,因为 limit = 100 对于 symfony2 来说太低了),请参阅 this 文章.