reload / os2display-slide-tools
在 https://github.com/os2display 上用于处理幻灯片的可重用工具
This package is auto-updated.
Last update: 2024-09-13 15:44:38 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 的一些示例。