solilokiam/summernotebundle

此捆绑包提供了一种基于 summernote 的 WYSIWYG 编辑器表单类型

0.1 2014-05-20 13:40 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:23:58 UTC


README

什么是 SummernoteBundle?

Summernotebundle 将 SummerNote WYSIWYG 编辑器集成到 Symfony 表单类型中。

状态

Build Status SensioLabsInsight Latest Stable Version Total Downloads Latest Unstable Version License

需求

此捆绑包的最低要求是

  • 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 %}