reload/os2display-slide-tools

该软件包最新版本(1.0.10)没有提供许可信息。

在 https://github.com/os2display 上用于处理幻灯片的可重用工具

1.0.10 2021-07-02 09:47 UTC

README

用于处理 https://github.com/os2display 的幻灯片工具。这些工具旨在帮助处理包含“内部幻灯片”的幻灯片,它并不旨在取代 Os2Display 中的幻灯片切换器,但它允许一个人一次性设置多个子幻灯片。

想法是幻灯片将包含多个“数据项”。例如,这可能是一个事件列表。每个事件都是一个数据项。幻灯片可以包含任意数量的子幻灯片,显示多个数据项。

配置变量

这里的变量是幻灯片上可用的设置(在 [slidename].json 文件中)

config.yml 中,这些设置是可用的

os2_display_slide_tools:
    use_ttl: true

use_ttl 决定是否应在获取幻灯片数据之间等待。默认设置为 false

创建新的幻灯片类型

在您的 自定义包 中,根据以下文档 在此处 创建一个新的 模板

为了利用此存储库中的工具,您需要在您的 .json 文件中做一些事情

  • 在配置的 empty_options 部分,添加以下默认值(当然,使用您自己的值)。

      "empty_options": {
        "sis_cron_subscriber": "your_cron_key",
        "sis_subslide_duration": 10,
        "sis_total_items": 9,
        "sis_items_pr_slide": 1,
        "sis_data_ttl_minutes": 5
      }
  • 如果您希望用户能够调整这些值,请在此库的 tools 部分添加工具
    "tools": [   {
        "name": "Slides in slides",
        "id": "slides-in-slide-config-editor"
      }
    ]

您链接到 .json 文件中的 paths.js.js 文件可以利用此工具的子幻灯片前进功能。

Os2Display 框架没有包含每个幻灯片一个以上 JS 文件的方法,所以您将不得不使用 Gulp 或您选择的任何工具将此库中的 Resources/public/js/slides-in-slide.js 编译到您的幻灯片 .js 文件中。

然后您可以像这样使用子幻灯片前进功能

// Register the function, if it does not already exist.
if (!window.slideFunctions['my-template-id']) {
  window.slideFunctions['my-template-id'] = {
    /**
     * Setup the slide for rendering.
     * @param scope
     *   The slide scope.
     */
    setup: function setupMyTemplate(scope) {
      // Get subslides (that is the data items), num_subslides, and slide_duration
      // and call the slides-in-slides tool with those values.
      window.slidesInSlides.setup(scope, subslides, num_subslides, slide_duration);
    },

    /**
     * Run the slide.
     *
     * @param slide
     *   The slide.
     * @param region
     *   The region to call when the slide has been executed.
     */
    run: function runMyTemplate(slide, region) {
      window.slidesInSlides.run(slide, region);
    }
  };
}

在 Cron 中获取数据

在您的包中创建一个实现 Symfony 的 EventSubscriberInterface 的服务。在 getSubscribedEvents 函数中,使用如下内容

  public static function getSubscribedEvents()
  {
    return [
      'os2displayslidetools.sis_cron.your_cron_key' => [
        ['myFunctionToGetData'],
      ]
    ];
  }

请参阅 此包 以获取如何使用此工具与 cron 的一些示例。