mindbird / contao-calendar-editor
Contao 扩展,用于在前端创建和编辑日历事件。
Requires
- php: ^8.1
- contao/calendar-bundle: ~4.13
- contao/core-bundle: ~4.13
- hofff/contao-calendarfield: ^4.0
- menatwork/contao-multicolumnwizard-bundle: ^3.0
This package is auto-updated.
Last update: 2024-09-12 13:32:22 UTC
README
基于 https://github.com/DanielGausi/Contao-CalendarEditor 的 contao 4.13 版本更新
Contao-CalendarEditor
这是 Contao 3 的模块修订版。基本上,一切都应该像在 Contao 3 中一样运行。唯一的区别是直接集成了扩展 "CalendarField",这使得可以使用 jQuery 日历为日期字段。
功能
Contao 日历中的新设置:启用前端编辑
- 选项:"仅未来事件",这将禁用对已过事件的编辑
- 选项:登录要求(在生产网站上强烈推荐)
- 定义可编辑的成员组:"成员" 和 "管理员",他们可以编辑所有事件(除非它们在后台被锁定,见下文)
- 选项:仅允许所有者编辑:只有事件的前端创建者才能稍后编辑它(前端管理员仍然可以编辑其他用户/管理员的的事件)
Contao 事件中的新设置
- 禁用前端编辑(锁定单个事件以供前端编辑,即使是前端管理员)
事件编辑模块
Contao 前端的简单表单。前端用户可以
- 添加新事件
- 编辑现有事件
- 可选:在编辑现有事件时"另存为",以创建事件的副本
- 删除现有事件(可选)
- 克隆现有事件(可选),在不同的日期上最多创建 10 个事件的副本
- 可选:当 FE 用户创建或编辑事件时发送通知电子邮件
- 可选:允许 FE 用户自行发布事件(否则必须由 BE 用户发布)
为了保持简单,只能编辑以下字段
- 开始/结束日期(可选,使用 jQuery Picker)
- 开始/结束时间
- 标题
- 位置
- 预告(TinyMCE 可用)
- 详情(TinyMCE 可用)
- CSS 值:前端用户可以从列表中选择人类可读的预定义值,如"红色"和"蓝色",这些值被转换为 css 类如"red"和"blue"。
- 目标日历(允许的日历需要在后台指定)
在这里,"详情"字段有点棘手。它只是一个单个的文本字段,但 Contao 模型要复杂得多。在创建新事件时,会创建一个新的内容元素(类型为 "Text")。在编辑现有事件时,首先展示类型为 "Text" 的第一个内容元素进行编辑。如果此元素包含进一步的信息,如标题或附加图像,或者如果存在更多的内容元素(在后台创建),则向前端用户显示警告。
隐藏事件列表模块
显示仅 隐藏 事件的日历,并提供一个 "编辑链接" 以在前端编辑器中打开事件
事件编辑链接模块
应放置在包含事件阅读器模块的网站上。提供一个适当的编辑链接以打开前端编辑器。可选:创建复制或删除事件的链接。
日历前端编辑模块
类似于常规的 Contao 日历,但为每天提供编辑链接和 "添加事件" 链接。作为额外的好处,可以指定 "假日日历"。来自此日历的事件将显示在日历模块的日标题中,以标记某些天为 "假日" 或其他。
用法
这里只是一个概述。
预备工作
- 创建 3 个页面用于日历/事件列表、事件阅读器和事件编辑器
- 指定允许在前端编辑事件的成员组
- 创建一个日历(或打开现有日历的设置),启用前端编辑并选择编辑重定向页面,指定授权的成员组
事件编辑模块
现在我们可以创建一个类型为“事件编辑”的新模块。
重定向页面定义了表单提交成功后用户将被重定向到的页面。前端用户可以通过选择其他页面(在事件阅读器中显示新事件、再次在事件编辑器中显示、创建新事件或复制刚刚创建的事件)来覆盖此页面。
后端用户可以在此指定更多设置,这些设置应该是自我解释的。例如,必须设置一个包含此模块可以访问的日历列表,就像在事件阅读器模块中一样。
在那里,您还可以设置更多必填字段,前端用户必须在表单中填写这些字段。
为了简化前端用户的操作,可以将“CSS值”字段重命名为前端用户更容易理解的内容。这取决于您的网站上CSS值的使用方式。您还可以添加一组预定义的CSS值/标签。
为了更方便地输入日期,可以在表单中添加jQuery日期选择器。
然后应将此模块添加到之前在日历(日历)中选择的编辑器页面上的文章。
为前端用户提供“编辑链接”
如果用户有权编辑事件,则应提供一些可点击的链接以编辑这些事件。要更新现有网站,应
- 将日历模块的模板更改为“cal_default_edit”(编辑此模板以了解其工作方式)。
- 如果想要使用“添加事件”链接,必须用日历前端模块替换日历模块。此模块还添加了每天用于在cal_default_edit模板中使用的“添加事件”链接。
- 将事件列表模块的模板更改为其中一个“_edit”模板(编辑这些模板以了解其工作方式)。
- 在事件阅读器页面,您还可以添加一个类型为“事件阅读器:编辑链接”的模块
请注意,只有当用户实际上有权编辑此事件时,才会将“编辑链接”添加到模板中。如果当前前端用户没有权限编辑事件,则不应显示该链接。如果用户在浏览器的地址栏中输入了此类未授权的编辑链接,则编辑表单应显示错误消息。
验证码
此模块支持即使对于未注册用户也能编辑事件。在这种情况下,表单中包含验证码。随着Contao 4.6的最新更改,这不再像在Contao 4.4中那样工作。
现在它这样工作
- 默认情况下,验证码包含在内(对于非注册用户),但通过Contao内置的诱饵系统进行扩展。因此,它对大多数用户是隐藏的,但您的日历仍然可以保护免受垃圾邮件机器人的侵害。如果用户禁用了您网站的JavaScript,则显示验证码。
- 如果诱饵系统对您不起作用,并且您收到了大量的垃圾邮件条目,您可以尝试使用新的编辑模板
eventEdit_ForceCaptcha.html5
。这样,验证码总是显示,但可能会在用户回答错误或禁用JavaScript的情况下在表单上导致重复的验证码字段。 - 您可以通过编辑模板
form_captcha_calendar-editor.html5
来修改验证码字段,使其与您修改的编辑模板相匹配。 - 删除事件模板始终向注册用户显示验证码,以防止意外删除事件。在此表单上,验证码字段也可能重复。
捐赠
如果您喜欢这个扩展程序并认为值得少量捐赠:您可以通过Paypal.Me支持我
谢谢!