adigital/eventbrite

与Eventbrite API集成

安装次数: 1,386

依赖项: 0

建议者: 0

安全: 0

星星: 2

关注者: 4

分支: 2

开放问题: 1

类型:craft-plugin

2.0.2 2023-09-06 15:39 UTC

This package is auto-updated.

Last update: 2024-09-07 10:19:30 UTC


README

通过Eventbrite API集成读取信息并将其返回为变量。

要求

此插件需要Craft CMS 4.0.0或更高版本。

安装

要安装此插件,请按照以下说明操作。

  1. 打开您的终端并转到您的Craft项目

     cd /path/to/project
    
  2. 然后告诉Composer加载插件

     composer require adigital/eventbrite
    
  3. 在控制面板中,转到设置 → 插件,并单击Eventbrite的“安装”按钮。

Eventbrite概述

配置Eventbrite

以下插件设置页面的截图显示了其工作原理 - 您需要提供Eventbrite API密钥和组织ID,并且这些设置仅在启用allowAdminChanges设置的环境中可由管理员编辑。

Craft CMS Eventbrite Plugin Admin Settings

还有一个设置页面,可以通过所有环境中具有适当权限的非管理员账户访问,无论allowAdminChanges设置如何。此页面允许用户选择性地指定其组织未设置的事件ID,以与组织的事件一起返回。请参阅以下设置页面和权限的截图

Craft CMS Eventbrite Plugin User Settings

Screenshot 2019-10-17 at 10 46 24

使用Eventbrite

插件变量

配置完成后,数据通过以下方法通过插件变量返回

craft.eventbrite.allEvents([expansions] = null, sort = true, time_filter = "current_future", unlistedEvents = false, status = "live")

此方法返回组织计划的所有事件以及通过“其他事件ID”设置指定的附加事件ID。expansions参数应是一个Twig数组,其值对应于在从API查询数据时可以返回的附加模型。您可以在文档中查看可用于事件的expansions。默认情况下,sort参数将按日期对组织和其他事件进行排序。默认情况下,time_filter参数为当前和未来事件,但也可以为pastallunlistedEvents参数可以设置为true,如果您想返回未列出的活动。最后,status默认为仅检索live事件,但也可以设置为draftstartedendedcompletedcanceled

craft.eventbrite.organisationEvents([expansions] = null, time_filter = "current_future", unlistedEvents = false, status = "live")

此方法仅返回组织计划的事件,参数与allEvents方法相同。

craft.eventbrite.otherEvents([expansions] = null, sort = true, time_filter = "current_future", unlistedEvents = false)

此方法仅返回由“其他事件ID”设置指定的事件,参数与allEvents方法相同。

craft.eventbrite.eventById(eventId, [expansions] = null, fullDescription = true, unlistedEvent = false)

此方法通过其ID返回单个活动,该ID应为Eventbrite中活动的数字ID。扩展方式如上所述,并且可以可选地返回和访问活动的完整HTML描述,使用eventVariable['htmlDescription']['description']

organisationVenues()

此方法返回插件设置中指定的组织的所有场馆

venueById(venueId)

此方法通过其ID返回场馆,该ID应为Eventbrite中场馆的数字ID。

venueEvents(venueId, [expansions] = null, unlistedEvents = false, status = "live" onlyPublic = "true")

此方法仅返回在由venueId参数指定的场馆举行的活动,其他参数与allEvents方法的工作方式相同,并增加了onlyPublic参数,用于指定返回的活动是否应该按是否公开进行过滤。

缓存

由于插件从Eventbrite API读取实时数据,您应该在您的Twig模板中用Craft cache 标签包裹任何变量使用,以减少对API的调用并提高页面加载速度。

Eventbrite路线图

待办事项和潜在功能的想法

  • 添加将数据写回Eventbrite的方法,以便在网站上完成门票购买
  • 探索使用其他API方法来扩展返回的数据,并在Craft中可能添加更多活动统计信息

Mark @ A Digital提供