solilokiam / summernotebundle
此捆绑包提供了一种基于 summernote 的 WYSIWYG 编辑器表单类型
0.1
2014-05-20 13:40 UTC
Requires
- php: >=5.3.2
- symfony/form: ~2.3
- symfony/framework-bundle: ~2.3
Requires (Dev)
- doctrine/doctrine-bundle: *
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-28 16:23:58 UTC
README
什么是 SummernoteBundle?
Summernotebundle 将 SummerNote WYSIWYG 编辑器集成到 Symfony 表单类型中。
状态
需求
此捆绑包的最低要求是
- Symfony 2.3
- Twitter 的 Bootstrap 3.0
- jQuery 1.9
安装
将 SummernoteBundle 添加到您的应用程序的 composer.json 文件中
{
"require": {
"solilokiam/summernotebundle": "dev-master"
}
}
将 SummernoteBundle 添加到您的应用程序的 AppKernel.php 文件中
new Solilokiam\SummernoteBundle\SolilokiamSummernoteBundle()
将路由信息添加到您的应用程序的 routing.yml
solilokiam_summernote_bundle: resource: "@SolilokiamSummernoteBundle/Resources/config/routing.xml" prefix: /summernote
最小配置
您必须确定您正在使用哪种对象管理器。目前它仅支持 Doctrine ODM 和 doctrine ORM。
app/config/config.yml
solilokiam_summernote: db_driver: mongodb #supported orm,mongodb for odm
您还必须指定哪个类将继承捆绑包的资产类。
solilokiam_summernote: asset_class: Acme\DemoBundle\Document\Asset
资产类的示例可以是这样的(doctrine odm)
<?php namespace Acme\DemoBundle\Document; use Solilokiam\SummernoteBundle\Model\SummernoteAsset; use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB; /** * Class Asset * @package Acme\DemoBundle\Document * @MongoDB\Document(collection="assets") */ class Asset extends SummernoteAsset { /** * @MongoDB\Id(strategy="auto") */ protected $id; ... }
附加配置
Summernote 支持一些配置参数。这些参数可以在 config.yml 中全局配置。
- width:这是 summernote 小部件的宽度
solilokiam_summernote: ... width: 500
- focus:自动聚焦小部件。
solilokiam_summernote: ... focus: true
- toolbar:配置小部件的工具栏。工具栏配置中的每一行都是一个不同的按钮组。您可以在 summernote 文档 中查看可用按钮
solilokiam_summernote: ... toolbar: - { name: style, buttons: ['bold', 'italic', 'underline', 'clear'] } - { name: paragraph, buttons: ['ul', 'ol', 'paragraph']}
用法
Summernote bundle 提供了一个表单类型。此示例表单使用它
class TestFormType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { ... $builder->add('test_text', 'summernote'); ... } ... }
您还需要在模板中添加一些 twig 标签来导入 summernote 工作所需的全部 CSS 和 JS
...
{% block stylesheets %}
{{ summernote_form_stylesheet(form) }}
{% endblock %}
{% block javascripts %}
{{ summernote_form_javascript(form) }}
{% endblock %}