elao / cms-slot-bundle
此包处理TinyMCE内文件管理器和图片管理器插件的集成
Requires
- php: >=5.3.2
- symfony/framework-bundle: ~2.0
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 模板助手