Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony与Sonata管理包和丰富的HTML编辑器_Php_Symfony_Sonata Admin_Sonata - Fatal编程技术网

Php Symfony与Sonata管理包和丰富的HTML编辑器

Php Symfony与Sonata管理包和丰富的HTML编辑器,php,symfony,sonata-admin,sonata,Php,Symfony,Sonata Admin,Sonata,我在Symfony 2.8安装中成功配置了Sonata Admin v3.2和Sonata Media Bundle。正如您所见,后端工作正常: 我想将内容属性呈现为丰富的HTML,因此我遵循了相应的指南: 我按照指南一步一步地配置了SonataFormatterBundle,但是字段没有正确呈现。这是我的配置: #Sonata with Symfony >= 2.6 form_themes: - 'SonataFormatterBundle:Form:formatter.ht

我在Symfony 2.8安装中成功配置了Sonata Admin v3.2和Sonata Media Bundle。正如您所见,后端工作正常:

我想将
内容
属性呈现为丰富的HTML,因此我遵循了相应的指南:

我按照指南一步一步地配置了SonataFormatterBundle,但是字段没有正确呈现。这是我的配置:

#Sonata with Symfony >= 2.6
form_themes:
    - 'SonataFormatterBundle:Form:formatter.html.twig'

sonata_block:
    default_contexts: [cms]
    blocks:
        # Enable the SonataAdminBundle block
        sonata.admin.block.admin_list:
            contexts:   [admin]
        # Your other blocks
        sonata.formatter.block.formatter:

sonata_formatter:
ckeditor:
    templates:
        browser: 'SonataFormatterBundle:Ckeditor:browser.html.twig'
        upload: 'SonataFormatterBundle:Ckeditor:upload.html.twig'
default_formatter: richhtml
formatters:
    markdown:
        service: sonata.formatter.text.markdown
        extensions:
            - sonata.formatter.twig.control_flow
            - sonata.formatter.twig.gist
            - sonata.media.formatter.twig


    text:
        service: sonata.formatter.text.text
        extensions:
            - sonata.formatter.twig.control_flow
            - sonata.formatter.twig.gist
            - sonata.media.formatter.twig


    rawhtml:
        service: sonata.formatter.text.raw
        extensions:
            - sonata.formatter.twig.control_flow
            - sonata.formatter.twig.gist
            - sonata.media.formatter.twig


    richhtml:
        service: sonata.formatter.text.raw
        extensions:
            - sonata.formatter.twig.control_flow
            - sonata.formatter.twig.gist
            - sonata.media.formatter.twig


    twig:
        service: sonata.formatter.text.twigengine
        extensions: [] # Twig formatter cannot have extensions
这是我的
PostAdmin
课程:

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->add('title')
        ->add('content', 'sonata_simple_formatter_type', array(
            'format' => 'richhtml',
            'ckeditor_context' => 'default', // optional
        ))
        ->add('category')
    ;
}

页面没有显示任何错误,但字段保持为正常的文本区域(请参见上面的屏幕截图)。

因此,对于没有查看评论的用户:

SonatFormatterBundle中的富文本编辑器需要一些Javascript和样式表才能工作。您需要将这些内容添加到管理布局模板中,如下所述

从文档中复制(版本3.x的代码):

{%extends'SonataAdminBundle::standard_layout.html.twig%}
{%块样式表%}
{{parent()}}
{%endblock%}
{%block javascripts%}
{{parent()}}
{%endblock%}

您是否将所需的Javascript和CSS文件添加到布局模板中?见步骤5.4。Sonata管理集成嘿,谢谢!我从你提供的链接复制了html,它成功了!可能是我用markitup从错误的版本中获取了代码。如果你写一个答案,我会把它标记为已解决。
{% extends 'SonataAdminBundle::standard_layout.html.twig' %}

{% block stylesheets %}
{{ parent() }}

<link rel="stylesheet" href="{{ asset('bundles/sonataformatter/markitup/skins/sonata/style.css') }}" type="text/css" media="all" />
<link rel="stylesheet" href="{{ asset('bundles/sonataformatter/markitup/sets/markdown/style.css') }}" type="text/css" media="all" />
<link rel="stylesheet" href="{{ asset('bundles/sonataformatter/markitup/sets/html/style.css') }}" type="text/css" media="all" />
<link rel="stylesheet" href="{{ asset('bundles/sonataformatter/markitup/sets/textile/style.css') }}" type="text/css" media="all" />
{% endblock %}

{% block javascripts %}
{{ parent() }}

<script src="{{ asset('bundles/ivoryckeditor/ckeditor.js') }}" type="text/javascript"></script>
<script src="{{ asset('bundles/sonataformatter/vendor/markitup-markitup/markitup/jquery.markitup.js') }}" type="text/javascript"></script>
<script src="{{ asset('bundles/sonataformatter/markitup/sets/markdown/set.js') }}" type="text/javascript"></script>
<script src="{{ asset('bundles/sonataformatter/markitup/sets/html/set.js') }}" type="text/javascript"></script>
<script src="{{ asset('bundles/sonataformatter/markitup/sets/textile/set.js') }}" type="text/javascript"></script>
{% endblock %}