mediadreams/md_eventmgt_frontend

在前端创建和编辑 ext:sf_event_mgt 的事件

安装: 458

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 1

开放问题: 0

类型:typo3-cms-extension

2.0.1 2024-08-22 11:13 UTC

This package is auto-updated.

Last update: 2024-09-22 11:24:30 UTC


README

此扩展允许前端用户添加新的 ext:sf_event_mgt 事件。

模板已准备好与 bootstrap 框架 一起使用,并且如果您的项目中包含 Font Awesome 图标集,则将显示图标。

需求

  • TYPO3 <= 12.4
  • ext:sf_event_mgt <= 7

安装

  • 使用扩展管理器安装扩展或使用 composer
  • 包含扩展的静态 TypoScript
  • 通过设置自己的 Typoscript 变量来配置扩展

用法

  • 在受前端用户登录限制的页面上添加插件 事件管理前端
  • 在插件选项卡中的 记录存储页面 字段中选择一个存储页面
    • 选项卡 设置
      • 事件类型:选择事件是全天事件(全天事件)还是有开始和结束日期和时间(开始-结束日期和时间)。
      • 父类别:如果选中,此类的所有子类别将在模板中显示。
      • 位置存储页面:在此页面上显示的事件位置将在模板中显示。
      • 组织者存储页面:在此页面上显示的事件组织者将在模板中显示。
      • 演讲者存储页面:在此页面上显示的事件演讲者将在模板中显示。
      • 相关事件存储页面:在此页面上显示的事件将在模板中显示。
    • 选项卡 电子邮件
      • 启用电子邮件通知:如果选中,可以为所选操作添加电子邮件通知。
      • 发件人电子邮件地址:电子邮件发件人地址。
      • 发件人姓名:电子邮件发件人姓名。
      • 电子邮件接收者:添加您想要的任何数量的电子邮件接收者。
        • 电子邮件操作:选择您想发送电子邮件的操作。
        • 接收者电子邮件地址:输入接收者的电子邮件地址(电子邮件发件人地址)。
        • 接收者姓名:输入接收者的姓名(电子邮件发件人姓名)。
        • 电子邮件主题:电子邮件的主题(电子邮件主题)。
        • 电子邮件正文:电子邮件的文本(电子邮件正文)。
    • 选项卡 模板
      • 模板布局:选择一个定义好的模板(有关如何定义模板布局,请参阅 模板布局 章节)。
  • 现在前端用户可以添加、编辑和删除自己的记录

模板布局

您可以在 TsConfig 中配置模板布局

tx_mdeventmgt_frontend {
  templateLayouts {
    1 = First layout
    2 = Second layout
  }
}

PSR-14 事件

以下 PSR-14 事件可用

  • Mediadreams\MdEventmgtFrontend\Event\CreateActionBeforeSave:在保存新记录之前调用
  • Mediadreams\MdEventmgtFrontend\Event\CreateActionAfterPersistEvent:在保存新记录后调用(新记录 Id 可用)
  • Mediadreams\MdEventmgtFrontend\Event\UpdateActionBeforeSave:在现有记录将被更新之前调用
  • Mediadreams\MdEventmgtFrontend\Event\DeleteActionBeforeDelete:在记录将被删除之前调用

注册一个示例事件

在您的扩展的 Configuration/Services.yaml 中添加以下行

services:
  Vendor\Extension\EventListener\MyListener:
    tags:
      - name: event.listener
        identifier: 'ext-mdnewsfrontend/enrichEvent'
        method: 'enrichEvent'
        event: Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSaveEvent

在您的扩展中添加类 Vendor\Extension\EventListener\MyListener,并使用方法 enrichEvent

namespace Vendor\Extension\EventListener;

use Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSaveEvent;

final class MyListener
{
    public function enrichEvent(CreateActionBeforeSaveEvent $obj)
    {
        // Get event object
        /** @var \Mediadreams\MdEventmgtFrontend\Domain\Model\Event $event */
        $event = $obj->getEvent();
        $event->setTitle('Set some teaser...');

        // Get EventController
        /** @var \Mediadreams\MdEventmgtFrontend\Controller\EventController $controller */
        $controller = $obj->getEventController();
    }
}

错误和已知问题

如果您发现错误,请在 Github 上添加问题。

谢谢

非常感谢所有使这个卓越的TYPO3项目成为可能的人!

致谢