c975l/events-bundle

此包已被弃用且不再维护。没有建议的替代包。

用于管理事件并显示轮播图的工具


README

EventsBundle 可以执行以下操作

  • 显示请求的事件
  • 提供管理事件的工具
  • 提供事件轮播图
  • 提供链接以集成到日历(ics)
  • 与您的网页设计集成

此 Bundle 依赖于 TinyMce、jQuery、Bootstrap 和 Bootstrap DatePicker 的使用,并需要 Twig/Extensions 来本地化日期和时间。具体信息请访问 TinyMcejQueryBootstrapBootstrap DatePicker

EventsBundle 专用网页.

EventsBundle API 文档.

Bundle 安装

步骤 1:下载 Bundle

使用 Composer 安装库

    composer require c975l/evebts-bundle

步骤 2:启用 Bundle

然后,通过将它们添加到项目 app/AppKernel.php 文件中注册的 Bundle 列表中来启用 Bundle

<?php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...
            new c975L\EventsBundle\c975LEventsBundle(),
        ];
    }
}

步骤 3:配置 Bundle

检查其配置的依赖项

v2.0+ 的 c975LEventsBundle 使用 c975L/ConfigBundle 来管理配置参数。使用路由 "/events/config" 并以适当的用户角色来修改它们。

从 v1.x 升级?请查看 UPGRADE.md

如果您使用 Git 进行版本控制,请确保在 .gitignore 中添加完整路径 web/images/[folderPictures],否则 Git 将修改所有内容。

步骤 4:启用路由

然后,通过将它们添加到项目 app/config/routing.yml 文件中来启用路由

c975_l_events:
    resource: "@c975LEventsBundle/Controller/"
    type: annotation
    prefix: /
    #Multilingual website use the following
    #prefix: /{_locale}
    #defaults:   { _locale: '%locale%' }
    #requirements:
    #    _locale: en|fr|es

步骤 5:创建 MySql 表

您可以使用 php bin/console make:migration 来创建迁移文件,如 Symfony 的 Doctrine 文档 中所述,或者使用 /Resources/sql/events.sql 来创建名为 events 的表。`DROP TABLE` 已被注释以避免意外删除。

步骤 6:链接和初始化 TinyMce

强烈建议使用从第三方包中覆盖模板功能以完全集成到您的网站中。

为此,只需在您的应用程序中创建以下结构app/Resources/c975LEventsBundle/views/,然后在该结构中复制文件layout.html.twigtinymceInit.html.twig以覆盖现有的包文件,然后应用您需要的更改,如语言等。

layout.html.twig中,它将主要扩展您的布局并定义特定的变量,例如

{% extends 'layout.html.twig' %}

{# Defines specific variables #}
{% set title = 'Events (' ~ title ~ ')' %}

{% block content %}
    {% block events_content %}
    {% endblock %}
{% endblock %}

建议使用Tinymce Cloud版本。您需要一个免费API密钥或者您可以下载并链接到您的项目https://www.tinymce.com/download/

如果您想保留所有可用的工具并且不更改Tinymce,您不需要覆盖tinymceInit.html.twig。您只需要在config.yml中提供您的tinymceApiKey(如果您使用云版本)和tinymceLanguage(+将相应的文件上传到您的服务器上的web/vendor/tinymce/[tinymceLanguage].js)。或者您也可以覆盖tinymceInit.html.twig

第7步:链接和初始化Bootstrap DatePicker

在上面的覆盖文件设置中,您必须添加一个链接到Bootstrap DatePicker的云版本(推荐)https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.7.0/js/bootstrap-datepicker.min.js

您可能还想设置来自cdnjs.com的特定区域。

初始化是在包的模板中完成的。

如何使用

显示事件的路径是http://example.com/events/{event},编辑的路径是http://example.com/events/edit/{event}

如果用户已识别并具有访问权限,则会在标题下方显示一个工具栏。

在Twig中,可以通过<a href="{{ path('events_display', { 'slug': 'slug' }) }}">事件标题</a>链接到页面。

可用的不同路由(命名自解释)有

  • events_display
  • events_config
  • events_create
  • events_modify
  • events_duplicate
  • events_delete
  • events_dashboard
  • events_all
  • events_ical
  • events_slug
  • events_help

包含轮播图

要将轮播图包含在页面中,只需使用{{ events_carousel(number) }},其中number是要显示的事件数量。

创建网站地图

在控制台中,使用php bin/console events:createSitemap在项目的web文件夹中创建一个sitemap-events.xml文件。您可以使用crontab每天生成它。您可以将此文件添加到sitemap-index.xml中,以分组所有网站地图,或者如果只有一个,则直接使用它。

如果这个项目帮助您减少开发时间,您可以通过顶部“赞助”按钮赞助我:)