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 文章.