Php Symfony与Sonata管理包和丰富的HTML编辑器
我在Symfony 2.8安装中成功配置了Sonata Admin v3.2和Sonata Media Bundle。正如您所见,后端工作正常: 我想将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
内容
属性呈现为丰富的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 %}