pixelmairie/sulu-eventbundle

管理Sulu的事件

2.6.2 2024-06-20 10:20 UTC

This package is auto-updated.

Last update: 2024-09-20 10:45:40 UTC


README

GitHub release (with filter) Dependency

展示

此捆绑包允许管理Sulu CMS的事件

特性

  • 事件管理
  • 事件列表(通过智能内容)
  • 预览
  • 翻译
  • 设置
  • SEO
  • 活动日志
  • 回收站

需求

  • PHP >= 8.0
  • Sulu >= 2.4
  • Symfony >= 5.4
  • Composer

安装

安装捆绑包

执行以下 composer 命令,将捆绑包添加到项目的依赖中

composer require pixelmairie/sulu-eventbundle

启用捆绑包

通过将其添加到项目 config/bundles.php 文件中注册的捆绑包列表来启用捆绑包

return [
    /* ... */
    Pixel\EventBundle\EventBundle::class => ['all' => true],
];

更新模式

bin/console do:sch:up --force

捆绑包配置

routes_admin.yaml 中定义管理员API路由

event.events_api:
  type: rest
  prefix: /admin/api
  resource: pixel_event.events_route_controller
  name_prefix: event.

event.settings_api:
  type: rest
  prefix: /admin/api
  resource: pixel_event.settings_route_controller
  name_prefix: event.

使用

添加/编辑事件

转到管理界面中的“事件”部分。然后,点击“添加”。填写您所需的所有字段。

以下是字段的列表

  • 名称(必填)
  • 开始日期(必填)
  • 结束日期
  • URL(必填,根据标题自动填充)
  • 网站
  • 电子邮件
  • 电话号码
  • 徽标
  • 封面
  • 图片库
  • PDF
  • 描述(必填)
  • 位置

完成操作后,点击“保存”

您的事件在网站上尚未可见。为了使其可见,请点击“激活?”。现在它应该对访客可见。

要编辑事件,只需单击您想要编辑的事件左侧的铅笔。

删除/恢复事件

有两种删除事件的方法

  • 勾选您想要删除的所有事件,然后点击“删除”
  • 转到事件的详细信息(参见“添加/编辑新闻”部分)并点击“删除”。

在两种情况下,事件都将被放入回收站。

要访问回收站,请转到“设置”并点击“回收站”。要恢复事件,请点击左侧的时钟。确认恢复。您将被重定向到您恢复的事件的详细信息。

要永久删除事件,请勾选您想要删除的所有事件并点击“删除”。

设置

此捆绑包附带设置。要访问捆绑包设置,请转到“设置 > 事件管理”。

以下是不同设置的列表

  • 默认图像
  • 首页上事件的数量限制

默认图像在事件没有封面时很有用。

首页上事件的数量限制允许您选择您想在首页上显示的事件数量

Twig扩展

此捆绑包仅包含一个twig函数

event_settings():返回捆绑包的设置。不需要参数。

使用示例

{% set settings = event_settings() %}
{% if settings.defaultImage is defined %}
    {% set defaultImage = sulu_resolve_media(settings.defaultImage.id, 'fr') %}
{% endif %}

在首页显示事件

如您在“设置”部分所见,许多事件已显示在首页上。默认情况下,事件数量为6。但是,您可以通过编辑“首页上事件的数量限制”设置来更改此限制。

要检索此限制,您可以添加以下代码

{% block javascripts %}
    {{ parent() }}
    {% set settings = event_settings() %}
    {% set limitSetting = settings.limitBlockEvent ? settings.limitBlockEvent : 6 %}
    <script>
        const EVENTS_URL = "{{ path('events_block', {limit: limitSetting}) }}";
    </script>

{% endblock %}

贡献

您可以为此包做出贡献。您必须做的唯一一件事就是尊重我们实施的编码标准。您可以在 ecs.php 文件中找到它们。