devkokov/craft3-ticketsolve

该包已被弃用且不再维护。作者建议使用burnthebook/craft3-ticketsolve包。

从Ticketsolve XML源提取场馆、演出和活动,并保持您的网站同步。

安装: 26

依赖: 0

推荐: 0

安全: 0

星标: 0

关注者: 1

分支: 0

类型:craft-plugin

1.0.1 2020-01-09 12:32 UTC

This package is auto-updated.

Last update: 2020-01-20 17:44:50 UTC


README

此插件将从Ticketsolve XML源拉取场馆、演出和活动,并在您的Craft网站上存储以方便访问。

自动同步功能将每15分钟同步一次,使您的网站与Ticketsolve保持同步。您还可以通过点击按钮手动同步。

新增了一种名为“Ticketsolve演出”的字段类型,允许您将演出与网站条目相关联。

控制面板中的Ticketsolve部分允许您浏览已导入网站的所有场馆、演出和活动。

Twig扩展允许在模板中轻松集成场馆、演出和活动。

注意:这不是官方的Ticketsolve插件。

要求

此插件需要

  • Craft CMS 3.0.0-beta.23或更高版本;
  • PHP的SimpleXML扩展;

安装

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

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

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

    composer require burnthebook/craft3-ticketsolve
    
  3. 在控制面板中,转到设置→插件,然后点击Ticketsolve的“安装”按钮。

配置Ticketsolve

在控制面板中,转到设置→Ticketsolve,并输入您的Ticketsolve XML源URL。

启用自动同步或,对于高级用户,在您的服务器上创建一个cron作业。见同步

如果使用自动同步,请注意,初始同步将在启用自动同步后15分钟发生。

要手动触发同步,请转到控制面板→Ticketsolve并点击“立即同步”按钮。

演出字段

插件添加了一个名为“Ticketsolve演出”的新关系字段类型,允许您将演出添加到Craft的条目中。

{% set shows = entry.showsFieldHandle.all() %}

{% for show in shows %}
    {{ show.name }}
{% endfor %}

演出以了解每个演出的全部属性。

场馆

{% set venues = craft().ticketsolve.venues().all() %}

{% for venue in venues %}
    {{ venue.name }}
{% endfor %}

参数

craft().ticketsolve.venues()返回一个支持Craft标准查询参数(排序、排序、限制等)的查询对象,以及以下新参数

  • venueRef() - 通过venueRef(Ticketsolve的场馆ID)过滤结果。接受一个整数。
  • name() - 通过名称过滤结果。接受一个字符串。
  • excludeVenueRefs() - 从结果中排除某些venueRefs。接受一个整数数组。

属性

场馆元素具有以下属性

  • id - Craft的场馆ID。注意这与Ticketsolve的场馆ID不同。
  • venueRef - Ticketsolve的场馆ID。
  • name - 场馆的名称/标题。
  • shows - 返回一个针对该场馆的演出查询对象,预先过滤了演出信息。请参阅演出

演出

{% set shows = craft().ticketsolve.shows().all() %}

{% for show in shows %}
    {{ show.name }}
{% endfor %}

参数

craft().ticketsolve.shows() 返回一个查询对象,支持Craft的标准查询参数,用于排序、排序、限制,以及以下新参数

  • showRef() - 通过showRef(Ticketsolve的演出ID)过滤结果。接受整数。
  • name() - 通过名称过滤结果。接受一个字符串。
  • eventCategory() - 通过活动类别过滤结果。接受字符串。
  • productionCompanyName() - 通过制作公司名称过滤结果。接受字符串。
  • venueId() - 通过venueId过滤结果。注意这与Ticketsolve的场馆ID不同。接受整数。
  • excludeShowRefs() - 排除某些showRefs的结果。接受整数数组。
  • tags() - 通过特定标签过滤结果。接受字符串数组(标签名称)。

属性

演出元素具有以下属性

  • id - Craft的演出ID。注意这与Ticketsolve的演出ID不同。

  • venueId - 关联场馆的Craft场馆ID。注意这与Ticketsolve的场馆ID不同。

  • showRef - Ticketsolve的演出ID。

  • name - 演出的名称/标题。

  • description - 演出的描述。通常包含HTML标记。

  • eventCategory - 与此演出关联的单个类别名称。

  • productionCompanyName - 制作公司的名称。

  • priority - 优先级编号。

  • url - 在Ticketsolve上显示的演出页面URL。

  • version - Ticketsolve中的版本号。

  • tags - 返回标签数组。每个标签都有作为属性的idname

  • venue - 返回与演出关联的场馆。请参阅场馆

  • events - 返回针对此演出的事件的查询对象,预先过滤了事件信息。请参阅事件

  • images - 包含以下结构的图像数组

    [
        [
            'large' => 'https://exmaple.com/image1.jpg',
            'medium' => 'https://exmaple.com/image2.jpg',
            'thumb' => 'https://exmaple.com/image3.jpg'
        ],
        [
            'large' => 'https://exmaple.com/image4.jpg',
            'medium' => 'https://exmaple.com/image5.jpg',
            'thumb' => 'https://exmaple.com/image6.jpg'
        ]
    ]
    

事件

{% set events = craft().ticketsolve.events().all() %}

{% for event in events %}
    {{ event.name }}
{% endfor %}

参数

craft().ticketsolve.events() 返回一个查询对象,支持Craft的标准查询参数,用于排序、排序、限制,以及以下新参数

  • eventRef() - 通过eventRef(Ticketsolve的事件ID)过滤结果。接受整数。
  • name() - 通过名称过滤结果。接受一个字符串。
  • eventStatus() - 通过事件状态过滤结果。接受字符串。
  • showId() - 通过showId过滤结果。注意这与Ticketsolve的演出ID不同。接受整数。
  • excludeEventRefs() - 排除某些eventRefs的结果。接受整数数组。

属性

事件元素具有以下属性

  • id - Craft的事件ID。注意这与Ticketsolve的事件ID不同。

  • showId - 关联演出的Craft演出ID。注意这与Ticketsolve的演出ID不同。

  • eventRef - Ticketsolve的事件ID。

  • name - 事件的名称/标题。

  • dateTime - 事件日期和时间的DateTime对象。

  • openingTime - 事件开放日期和时间的DateTime对象。

  • onSaleTime - 事件售票日期和时间的DateTime对象。

  • duration - 表示事件持续时间的分钟数整数。

  • available - 表示可用空间的整数值。

  • capacity - 表示活动容量(空间数量)的整数值。

  • venueLayout - 描述场地布局的字符串。

  • comment - 包含任何注释的字符串。

  • url - Ticketsolve 上的活动页面 URL。

  • status - 活动状态,例如 "available"。

  • fee - 交易费用,例如 "0.5"。

  • feeCurrency - 3位货币代码,例如 "GBP"。

  • maximumTickets - 表示每笔交易允许的最大票数整数值。

  • show - 返回与活动相关联的演出。见 演出

  • venue - 返回与活动相关联的场地。见 场地

  • prices - 具有以下结构的价格数组

    [
        [
            'type' => 'Standard',
            'facePrice' => [
                'value' => 5.5,
                'currency' => 'GBP'
            ],
            'sellingPrice' => [
                'value' => 5,
                'currency' => 'GBP'
            ]
        ],
        [
            'type' => 'Premium',
            'facePrice' => [
                'value' => 8.5,
                'currency' => 'GBP'
            ],
            'sellingPrice' => [
                'value' => 8,
                'currency' => 'GBP'
            ]
        ]
    ]
    

同步

该插件包含一个自动同步选项,每大约15分钟通过伪cron作业自动从XML源同步。

为了更稳健的同步,您可以在插件设置中禁用自动同步,并使用以下Craft控制台命令从适当的服务器cron作业触发它

craft ticketsolve/feed/sync

Burnthebook 提供