elao/cms-slot-bundle

此包已废弃,不再维护。未建议替代包。

此包处理TinyMCE内文件管理器和图片管理器插件的集成

安装: 720

依赖者: 0

建议者: 0

安全: 0

星星: 3

关注者: 24

分支: 5

开放问题: 0

语言:JavaScript

类型:symfony-bundle

dev-master / 1.0.x-dev 2014-01-06 13:09 UTC

This package is auto-updated.

Last update: 2022-02-01 12:20:51 UTC


README

ElaoCmsSlotBundle实现了一个低级cms槽位管理。它允许您在应用程序中集成可编辑的槽位。

安装

步骤1:下载。

下载此包并将其置于Elao\CmsSlotBundle\命名空间下。

通过composer

// composer.json
{
    // ...
    "require": {
        // ...
        "elao/cms-slot-bundle": "dev-master"
    }
}

更新您的composer.phar

$ php composer.phar update

步骤2:在AppKernel.php中注册包。

将其包含在您的Kernel类中

// app/AppKernel.php
public function registerBundles()
{
    $bundles = array(
        new Elao\CmsSlotBundle\ElaoCmsSlotBundle(),
        ...
    );
}

配置

当包在您的Kernel类中注册时,默认启用了此包提供的所有功能。

默认配置如下

.. configuration-block::

    .. code-block:: yaml

        elao_cms_slot:
            db_driver:          orm             # or odm (not implemented yet)
            slot_provider:      serviceid       # Set a slot provider service
                                                # (or use the orm or odm default one if not set)
            i18n:               true            # enable or not culture dependent slots (translator service required)
            permission:         SLOT_EDITOR     # permissions needded to edit slot (security context service required)
            types:
              jeditable:                        # Configure jeditable slot types
                tinymce:                        # Configure Tinymce
                  enable:       true            # Enable tinymce
                  path:         /js/tinymce     # Set the tinymce path


db_driver: 此选项仅用于确定如果未设置slot_provider,则使用哪个默认槽位提供程序。slot_provider: 此选项允许您指定一个槽位提供程序服务。默认情况下i18n为false。如果设置此选项,所有槽位名称都将附加当前区域设置。

Cms Slot Provider Service

Cms Slot Provider服务必须实现CmsSlotProviderInterface。给定一个槽位代码,它必须返回一个CmsSlot对象。该包自带默认Cms Slot Provider(CmsSlotRepository)。

Cms Slot Manager Service

Cms Slot Manager服务是包的中心点。其角色是:- 注册Cms Slot类型 - 与Cms Slot Provider服务交互

Cms Slot Object

Cms Slot对象只是用于存储槽位内容的对象。

Cms Slot Types

Cms Slot Types描述了显示槽位内容的方式以及编辑槽位内容的方式。它们必须实现CmsSlotTypeInterface。Cms Slot Types有两个关联的模板:一个用于显示槽位数据(显示模式),另一个用于编辑槽位数据(编辑模式)。

Cms Slot Types是标记服务(标记为"elao.cms_slot.type",接受以下属性:template_display和template_edit)。

.. configuration-block::

    .. code-block:: xml
    <services>
        <service id="elao.cms_slot.type.jeditable" class="%elao.cms_slot.type.jeditable.class%" public="false">
            <tag name="elao.cms_slot.type" template_display="ElaoCmsSlotBundle:CmsSlotType:jeditable_display.html.twig" template_edit="ElaoCmsSlotBundle:CmsSlotType:jeditable_edit.html.twig" />
        </service>
    </services>

默认情况下,该包自带一个槽位类型:jeditable

Cms Slot Twig Extension

此Twig扩展允许您通过添加twig函数cms_slot()将槽位集成到您的应用程序中。cms_slot()函数接受3个参数:槽位类型、槽位名称和槽位参数。

示例

// 简单的输入文本 {{ cms_slot('jeditable', 'ABOUTUS_TEXT', {'type': 'text', 'width': '100%', 'height': '300'}) }}

// 简单的文本区域 {{ cms_slot('jeditable', 'ABOUTUS_TEXT', {'type': 'textarea', 'width': '100%', 'height': '300'}) }}

// 将使用 tinymce {{ cms_slot('jeditable', 'ABOUTUS_TEXT', {'type': 'textarea', 'rich': true, 'width': '100%', 'height': '300'}) }}

待办事项

  • 创建 odm 类
  • 创建 php 模板助手