titledk/silverstripe-calendar

为 SilverStripe 提供高度灵活的日历系统

安装: 868

依赖项: 1

建议者: 0

安全: 0

星标: 32

关注者: 8

分支: 24

公开问题: 11

类型:silverstripe-module

1.2 2017-11-22 09:35 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:52:54 UTC


README

由 Title Web Solutions 提供

SilverStripe 3.x 的日历是一个坚实的基座,满足您的所有日历需求,它被构建得灵活且可配置,以适应大多数场景 - 无论是公共活动的网站,还是带有私有活动的网络应用,或者两者的组合。

在 silverstripe.org 阅读关于此模块的博客文章

Preview

注意

原本这是一个付费模块,但截至 2014 年 11 月,我们决定将其开源。

如果您喜欢它,并且需要帮助设置,我们可以为您提供帮助。 您可以通过这里联系我们
以下是我们希望实现的功能/修订清单。如果您缺少某个功能,或者愿意赞助开发,我们很乐意以折扣价为您提供帮助 - 如果如此,请 联系我们

非常欢迎拉取请求! 但请注意,如果您计划开发功能,请与我们联系。

您还可以加入 Gitter 上的此模块讨论:![Gitter](https://badges.gitter.im/Join Chat.svg)

演示

http://calendar.demo.title.dk 上提供了一个演示网站。
在演示网站上,您可以了解更多关于功能的信息,包括实际示例。

演示代码可在 https://github.com/titledk/silverstripe-calendar-demo 上找到。
如果您打算使用日历,请从安装此开始!

兼容性

  • 对于 SilverStripe 3.1.x:分支 1.0
  • 对于 SilverStripe 3.2.xmaster / 分支 1.1

有关测试版本,请参阅 日历演示

现场示例

该模块被以下网站使用

您在您的网站上使用此模块吗?告诉我们!

功能

  • 可扩展。以您希望的方式自定义,同时确保基本概念。
  • 稳健、有见地的模型。
  • 事件/日历/类别关系,允许复杂的过滤。
  • 公共/私有事件。
  • 所有功能都是可配置的,因此如果您只需要基本功能,您可以关闭其余的功能。
  • 全面的日历/事件管理。
  • JavaScript 增强的编辑事件表单,可在前端和后端使用,具有日期选择器、时间选择器、下拉列表和持续时间下拉列表,同时仍然允许手动输入
  • 通过 CalendarPage 在前端列出事件
  • 前端日历视图,使用 fullcalendar jQuery 插件
  • 事件注册(这可能会移动到外部模块)
  • 带有可配置颜色选项的日历颜色,以及 JS 颜色调色板字段(在前端和后端都适用) - 阴影日历允许假日日历等出现在背景中
  • 无默认前端样式。
  • 基于 Composer 的工作流程。您将能够使用 Composer 添加和更新模块。

目前的一些弱点

  • 事件模型和管理稳定,但缺少周期性事件
    • 查看本readme文件底部我们的“愿望清单”
  • 前端模板
    • 演示正在覆盖日历中的许多模板
      • 包括的项目应该更通用
    • 最好我们能有为这些的BootstrapFoundation模块
  • 前端样式
    • 有一些易于包含的Sass混入会很好
  • 注册请参阅这个讨论关于事件注册

贡献者

许可证

MIT

安装

将以下内容至少添加到您的项目的_config.php

CalendarConfig::init();

请参阅CalendarConfig了解如何配置该模块。

截图

CMS

Calendar Add event

前端

Add event Fullcalendar List

插图

日历结构的插图是在Omnigraffle中完成的。
Omnigraffle文档是本存储库的一部分,位于docs/img/silverstripe-calendar.graffle

概念

此插图概述了基本日历概念

Concepts

结构

当前和计划的结构(其中一些可能已移动到外部存储库)

Concepts

计划:私有日历

注意:本部分的部分已开发,因此如果您计划从事此工作,请与我们联系。

Concepts

计划:共享日历

Concepts

路线图/想法/计划

愿望清单

  • 周期性事件
  • 单元测试
  • 使一切可翻译

可能的改进

  • 结构
    • 考虑使用ss 3.1配置系统
    • 考虑实现EventInterface,使任何内容都可以作为事件
    • 隐藏通过设置未启用的页面类型
      • 请参阅此处以获取参考
    • 移除SS3.0兼容性以使SS3.1的支持更容易(请确保为SS3.0创建标签)
  • 后端
    • 在侧边栏中实现事件搜索(请参阅CMSMAin->SearchForm()
    • 仪表板面板用于显示单个日历的即将发生的事件,并跳转到创建表单
    • 后端可用性审查(与概念审查一起)
  • 前端
    • 模板结构
      • 检查包含和布局模板,看看它们如何作为构建块
    • EventPage改为DataExtension,并称其为EventsPage。(我们可能需要为此编写更新脚本。)

版本控制

我们试图坚持语义版本控制范例。也就是说

考虑使用X.Y.Z(主.次.修补)版本格式。不影响API的修补程序增加修补程序版本,向后兼容的API添加/更改增加次要版本,向后不兼容的API更改增加主版本。

所以

  • 选择Master分支,如果你想走在最前沿
  • 选择最新版本分支(例如1.0),如果你想有次要更改和修补程序(选择适合您SilverStripe版本的分支,见上面)
  • 选择标签(1.0.0及以后),如果你只想实际发布

注意:如果你认为我遗漏了什么,请告诉我,@anselmdk在twitter上,或通过此存储库的聊天Gitter