open-wide/ezpublish-agenda-bundle

为 Ez Publish 5 提供,通过 FullCalendar 在前台以日历视图创建和展示事件的完整系统

安装: 46

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 18

分支: 1

开放问题: 0

语言:JavaScript

1.3.1 2015-11-09 12:59 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:11:13 UTC


README

https://github.com/Open-Wide/OWAgendaBundle/raw/master/doc/images/Open-Wide_logo.png

演示

本扩展通过 [FullCalendar](http://fullcalendar.io/) 在前台提供创建和展示日历视图中的事件的完整系统。

许可协议

本 eZ Publish 扩展以 GPL v3 协议提供(见许可协议)。

通过 composer 安装

  1. 在项目的 composer.json 中添加 AgendaBundle
{
  "require": {
    "open-wide/ezpublish-agenda-bundle": "dev-master"
  }
}
  1. 在 EzPublishKernel.php 文件中启用 Bundle
<?php
// ezpublish/EzPublishKernel.php
use OpenWide\AgendaBundle;
...

public function registerBundles()
{
  $bundles = array(
    // ...
    new OpenWide\AgendaBundle\OpenWideAgendaBundle(),
  );
}
  1. 使用内容包中的 Package 目录或使用 [OWMigration](https://github.com/Open-Wide/OWMigration) 创建以下类
  • 在类组 Agenda
    • event_folder
    • event_liste
    • event_agenda
    • event_date
  1. src/symfony/ezpublish/config/config.yml 中添加 event_folder LocationId
# LocationId of Agenda
open_wide_agenda:
    root:
        location_id: ....
     # Nb of element per page
    paginate:
        max_per_page: ...
  1. 在后台办公室创建以下结构的文档

    • event_folder
      • event_liste
      • event_agenda
        • event_date
      • event_agenda
        • event_date
  2. 手动运行旧版 bundle 安装脚本

$ php ezpublish/console ezpublish:legacybundles:install_extensions

默认情况下,它将创建一个绝对符号链接,但也可以选择使用硬拷贝(–copy)或相对链接 (--relative)。

  1. 在 Legacy ini /settings/override/site.ini.append.php 中添加 event_folder LocationId
[AgendaSettings]
RootFolderNodeId=...
  1. src/symfony/ezpublish/config/config.yml 中添加此 Bundle 到 assetic bundles 数组
# Assetic Configuration
assetic:
    bundles:        [ OtherBundle, OpenWideAgendaBundle ]
  1. src/symfony/ezpublish/config/ezpublish.yml 中导入 ezpublish.yml 配置
imports:
- {resource: @OpenWideAgendaBundle/Resources/config/ezpublish.yml}
  1. src/symfony/ezpublish/config/routing.yml 中导入 routing.yml 配置
agenda:
  resource: "@OpenWideAgendaBundle/Resources/config/routing.yml"
  1. 使用以下命令重新生成 Assetic
$ php ezpublish/console assetic:dump web
  1. src/symfony/ezpublish/config/ezpublish.yml 中配置您的视图
ezpublish:
    system:
        your-siteaccess:
            location_view:
                event_folder:
                    template: OpenWideAgendaBundle:full:event_folder.html.twig
                    controller: "agenda.controller.event_folder.view:viewLocation"
                    match:
                        Identifier\ContentType: event_folder

                event_agenda:
                    template: OpenWideAgendaBundle:full:event_agenda.html.twig
                    controller: "agenda.controller.event_agenda.view:viewLocation"
                    match:
                        Identifier\ContentType: event_agenda

                event_liste:
                    template: OpenWideAgendaBundle:full:event_liste.html.twig
                    controller: "agenda.controller.event_liste.view:viewLocation"
                    match:
                        Identifier\ContentType: event_liste
            line:
                event_agenda:
                    template: OpenWideAgendaBundle:line:event_agenda.html.twig
                    controller: "agenda.controller.event_agenda.view:viewLocation"
                    match:
                        Identifier\ContentType: event_agenda

                event_date:
                    template: OpenWideAgendaBundle:line:event_date.html.twig
                    controller: "agenda.controller.event_date.view:viewLocation"
                    match:
                        Identifier\ContentType: event_date
            bloc:
                event_folder:
                    template: OpenWideAgendaBundle:bloc:event_folder.html.twig
                    controller: "agenda.controller.event_folder.view:viewLocation"
                    match:
                        Identifier\ContentType: event_folder
        content_view:
            embed_agenda:
                event_date:
                    template: OpenWideAgendaBundle:content_view/embed:event_date.html.twig
                    controller: "agenda.controller.event_date.view:viewContent"
                    match:
                        Identifier\ContentType: event_date

用法

前台日历视图

https://github.com/Open-Wide/OWAgendaBundle/raw/master/doc/images/calendar.png

前台日历迷你视图

https://github.com/Open-Wide/OWAgendaBundle/raw/master/doc/images/calendar_mini.png

其他

FullCalendar 文档:http://fullcalendar.io/docs/