putty
(putty)
1
此组件需要同时使用 events 插件和 自定义列表 插件。
为什么要使用此组件而不是 upcoming events(即将到来的活动)页面?
- 提供侧边栏组件选项,而非全屏日历
- 包含主题列表
- 能够针对多个分类或特定标签进行定位(通过自定义列表插件实现)
注意: 若要排除使用了某标签的分类,请在自定义列表设置中包含 -category:SLUG。例如,tag:webinar,livestream -category:show-tell。我强烈建议利用 事件过滤参数。
特别感谢 @nathank 为改进此主题组件提供的建议!
日历视图:
包含一个显示/隐藏日历的切换开关
侧边栏视图:
设置
包含为不同列表/对象设置不同日历的功能
| 设置 |
描述 |
| 列表 slug |
自定义主题列表中列表的 slug,例如对于 /lists/events,slug 为 events。必填。 |
| 布局 |
完整日历,或即将到来的活动侧边栏。必填。 |
| 显示新建按钮 |
在列表的导航栏中添加一个“新建”按钮。编辑器将打开空白状态。 |
| 新建按钮标签 |
按钮文本,例如“新建活动”。编辑器中的按钮将随之变化(创建活动)。如果留空,则默认显示“新建主题”。 |
| 新建按钮图标 |
从带有预览的图标选择器中选择一个图标,例如 calendar-day。如果留空,则使用钢笔图标。手机端仅显示图标。 |
| 隐藏 Horizon 侧边栏按钮 |
仅适用于 Horizon。在此页面上隐藏侧边栏的“新建主题”按钮。否则它将匹配上述按钮。 |
| 以事件开始 |
新建主题将打开一个事件块,从下一个整点开始,持续一小时。 |
| 新建按钮标签 |
可选。新建主题默认使用这些标签,包括从侧边栏按钮和 c 快捷键创建时。 |
| 隐藏主题列表 |
在此页面上隐藏标准主题列表。 |
8 个赞
nathank
(Nathan Kershaw)
2
这真的太酷了!我觉得它会变得超级有用,并且能填补核心功能中缺失的整体网站即将活动列表。
不知为何,用于隐藏不包含活动的主题的切换按钮对我来说不起作用。我使用的是 Horizon 主题(抱歉,还没做进一步的测试)。我在想,是不是需要过滤器来处理活动筛选,而不是通过 TC 来隐藏它们?我会为此提交一个功能请求。
另外,在活动筛选列表中,我们真的需要将“新建主题”按钮改为“新建活动”按钮。能否在 TC 中添加这个功能?
1 个赞
putty
(putty)
3
我会测试一下 Horizon 主题,看看能找到什么问题。不过,还是感谢你提交了这个功能请求!
当然可以,这应该不难实现!
putty
(putty)
4
这在 Horizon 中现在应该可以正常工作了。如果你的功能请求获批,我会重新考虑这个问题。 
已添加“新主题/事件”按钮!
我曾尝试从列表设置中提取过滤器,但如果存在多个标签或类别,情况会变得杂乱无章。
1 个赞
nathank
(Nathan Kershaw)
5
哇!感谢你倾听并迅速付诸行动。我真的很期待稍后给它一次试运行。
已经通过了!
nathank
(Nathan Kershaw)
6
好的,我现在试了一下——运行得很不错!而且非活动类型的主题在 Horizon 主题下也被很好地隐藏了。
不过,为了让它真正好用,还需要再做一处调整,并且最好针对 Horizon 主题进行特定的适配。
主要遗留问题
目前,该功能会在站点默认的主题创建分类中打开一个新主题。虽然作为概念验证这很棒,但它确实需要在“活动”上下文中(即在配置了活动的分类中)打开一个新主题,否则我们的用户会彻底迷失方向。
需要注意的是,如果你将站点默认的主题创建分类更改为活动分类,就会出现一个活动输入框,除非用户更改分类或深入使用 Markdown,否则很难将其移除。以我对用户的了解,他们很可能会卡住然后放弃!!!
我们应该如何处理?
我猜测核心 Events 插件的功能在这里可能有点难以处理。但也许你能找到一种巧妙的方法。我建议目标是让活动输入框无论选择哪个分类都出现(并保持在那里)。
一个合理的变通方法可能是让按钮在一个已配置的类别(即配置了活动的类别)中打开。如果用户输入了一些数据,即使他们更改分类,它也会保持激活状态。然而,如果他们先选择分类,就会丢失输入框。这可能需要进行一些引导说明。
棘手的 Horizon 主题
最后,Horizon 主题对“新主题”按钮做了一些漂亮/奇怪的处理(在桌面端位于左侧边栏的高处),这需要专门加以解决。
1 个赞
putty
(putty)
7
我成功整合了新的过滤查询 
我对 Composer 的计划是添加这些设置:
关于 Horizon 的一个快问:你希望将新的事件功能集成到左上角的“新话题”按钮中吗?还是应该保留你截图中的“新事件”按钮,并让它包含新的事件对象上下文?
1 个赞
nathank
(Nathan Kershaw)
8
看起来不错——希望它能顺利运行。我很期待测试一下!
其实我并不喜欢 Horizon 将“新建话题”按钮放在侧边栏的设计。而且我确实喜欢在日历正上方有一个好看且不同的“新建活动”按钮,因为我知道人们自然会看向那里。如果能用 calendar-plus 作为图标,并且采用与常规 Horizon 按钮相同的样式,那就更好了。
话虽如此,尽可能保持与 Horizon 主题其余部分的一致性是非常有道理的(即使我不喜欢它!)。这是在配置为活动的分类中 Horizon 的样子:
这是同一页面在移动端的显示效果:
在我看来,Horizon 的理想方案是:
- 在桌面端,保留日历上方的“新建活动”按钮,但将其样式设置为与侧边栏按钮相同
- 保留侧边栏按钮,但使其与新按钮完全一致
- 如果需要,管理员可以通过 CSS 轻松隐藏此按钮,当然也可以通过设置来控制
- 在移动端,按照 Horizon 主题复制仅显示 calendar-plus 图标的按钮
抱歉没能给你一个明确的答案——但这类事情往往就是这样,对吧?
1 个赞
putty
(putty)
9
我想我已经捕捉到了所有内容。请更新一下,并告诉我你的想法:)
nathank
(Nathan Kershaw)
10
太棒了!!! 
太神奇了——这简直太出色了!!!在 Horizon 上运行也完美。
最后一个问题
日历会显示消息中的事件,但我们使用的 /filter 路由似乎无法捕获这些事件。
这不是你出色的 TC 的局限性,而是过滤功能的局限性。
我已经提交了一个新的功能请求来解决这个问题:
1 个赞
nathank
(Nathan Kershaw)
11
本周使用后,我有几个关于提升用户体验的建议:
能够最小化/最大化日历。
若能在事件列表中最小化日历,并记住此状态,那将非常棒。
日历虽然经常有用,但占据了大量屏幕空间——尤其是在移动端。在移动端,默认将其设置为最小化状态会很有帮助。
移动端日历默认显示周视图及事件列表
对我们来说,这非常不实用(我们大约每两周只有一个事件)。如果它能跟随站点默认设置(桌面视图似乎是这样做的),那就太好了。
隐藏话题列表 现已多余
这个 TC 设置可以轻松移除,但我猜解释如何配置筛选器可能更麻烦!
putty
(putty)
12
嘿!这些建议很有道理!我已经按前两项更新了组件:
1. 最小化/最大化日历:现在日历上方有一个隐藏日历 / 显示日历按钮。你的选择会分别存储在浏览器中,并按每个列表页独立保存。在手机上,日历默认处于最小化状态,直到你手动打开,因此不再占据整个屏幕。
说实话,我个人觉得将日历作为侧边栏区域更值得利用屏幕空间,因为很多(我的)日历都有空白区域,但这因人而异 
2. 移动端视图:日历现在会在桌面和移动端都使用事件插件的默认即将到来的事件视图设置打开。如果你将该设置改为“月”,那么手机上的日历也会显示为“月”视图,而不是“周”视图。
3. “隐藏话题列表”:你能详细说明一下为什么它是冗余的吗?我倾向于保留它,以实现最大的灵活性。
试用一下这些改动,并告诉我你的想法!
2 个赞
nathank
(Nathan Kershaw)
13
这太棒了!运行得非常完美。我很喜欢日历显示/隐藏效果的微妙之处——现在移动端体验也非常好。
我也喜欢侧边栏,但我觉得如果旁边放着主题列表就不太好用了,因为它们都在显示相同的内容。而且它在移动端不起作用,而移动端约占我们用户与网站互动的 1/2。
它是冗余的,因为我们现在可以通过过滤器来实现这一点,这得益于核心最近新增的事件过滤器功能(按照我的建议添加的
)。
不过,这是一个非常近期的核心变更,所以我仔细想了想,现在还是最好保留那个设置。
还有更多…
你猜怎么着?还有几个可能的调整(我想这会是最后的几个了):
隐藏(部分)导航栏?
我发现在“事件”列表中,导航栏的大部分部分并不太有用:
这里的分类/标签过滤器不起过滤作用,而最新/新/热门等选项会将你带到完整网站列表——这也毫无帮助。在桌面上它们占用的空间不大,所以我没有注意到这一点,但在移动端非常明显:
不过,“新事件”按钮和自定义列表下拉菜单肯定是有用的,绝对应该保留。
如果隐藏了那些无用的部分,就需要特别注意(尤其是在移动端)不要让“新事件”按钮和显示/隐藏日历按钮靠得太近。也许把显示/隐藏日历放在左边会更好?
点击日历可以打开“新事件”编辑器
这一点纯属锦上添花。
我刚刚才知道,在 Events 插件中已经存在打开包含事件的新主题的功能——你只需在 /upcoming-events 或 Events 分类下的日/周/月视图日历中的空白处点击即可。
之前我看的是年视图,所以一直没注意到这个功能,直到最近寻找你接入的那个设置时我才偶然发现它。
你觉得能把它整合进去吗?