burnthebook/craft3-livebuzz

从LiveBuzz API提取参展商信息到网站,并更新和删除参展商。

安装: 50

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 3

分支: 0

开放问题: 0

类型:craft-plugin

1.0.4 2020-02-05 09:57 UTC

This package is auto-updated.

Last update: 2024-09-05 19:47:35 UTC


README

此插件将LiveBuzz API的参展商信息拉取到网站,并更新和删除参展商。

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

控制面板中的Livebuzz部分允许您浏览已导入网站的所有参展商。

Twig扩展允许轻松将参展商集成到您的模板中。

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

要求

此插件需要

  • Craft CMS 3.0.0-RC1或更高版本;

安装

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

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

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

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

配置Livebuzz

在控制面板中,转到设置→Livebuzz,并输入您的Livebuzz JSON API参展商数据源的URL,包括活动标识符。

在设置→Livebuzz中,还应输入用于验证您对Livebuzz API访问的Bearer。

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

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

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

参展商

{% set exhibitors = craft().livebuzz.exhibitors().all() %}

{% for exhibitor in exhibitors %}
  {{ exhibitor.companyName }}
{% endfor %}

参数

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

属性

参展商元素具有以下属性:

  • id - Craft的参展商ID。注意这与Livebuzz的参展商ID不同。

  • identifier - Livebuzz的参展商ID。

  • companyName - 参展商的公司名称。

  • logo - 参展商的logo,作为相对路径。

  • description - 参展商的传记。

  • telephone - 参展商的国际格式电话号码。

  • emailAddress - 参展商的电子邮件地址。

  • websiteUrl - 参展商的网站URL。

  • stands - 一个数组,包含分配给此参展商的摊位位置,结构如下:

    [
      'E09', 'A1', 'B10'
    ]
    
  • addresses - 一个数组,包含此参展商的地址,结构如下:

    [ 
       { 
          "line_1": "First line",
          "line_2": "The second line",
          "line_3": "The third line",
          "city": "Derby",
          "county": "Derbyshire",
          "region": "West Midlands",
          "country": "GB"
       },
       { 
          "line_1": "1600 Amphitheatre Pkwy",
          "line_2": "Mountain View",
          "line_3": "94043",
          "city": "",
          "county": "",
          "region": "CA",
          "country": "USA"
       }
    ]
    
  • socialMediaChannels - 一个数组,包含此参展商的社会媒体渠道,结构如下:

    [ 
       { 
          "type": "instagram",
          "url": "https://www.instagram.com/"
       },
       { 
          "type": "website",
          "url": "https://www.example.com/"
       },
       { 
          "type": "facebook",
          "url": "https://#/"
       }
    ]
    

同步

此插件附带自动同步选项,每15分钟左右通过伪cron作业自动从JSON API源同步。

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

craft livebuzz/feed/sync

Burnthebook提供