Topic-timeline api.decorateWidget 调用已停止工作

各位朋友!

我不确定具体是何时,但今年某个时候,以下代码停止工作了。它没有抛出任何错误,只是不再执行任何操作——我怀疑这可能与此更改有关,但不确定。

var bHTML = (some html);

api.decorateWidget('topic-timeline-container:before', helper => {
    return helper.h('div.side-block', [
        helper.rawHtml(bHTML),
    ]);
});

有什么办法可以修复这个问题吗?

3 个赞

时间线已更新,改用常规的 Ember/Glimmer 组件,而不是我们自定义的“widget”系统,因此 decorateWidget 将不再适用。

您需要改用 Plugin Outlet。目前我们有两个:

但如果它们不适用于您的用例,请告诉我们,我们很乐意考虑引入新的。

6 个赞

我算是把这个弄好了,但是我找不到办法从主题组件中插入任何数据。这是否仍然只能从主题 JS 中完成?

您说的插入数据是指什么?

TC JS 和主题之间应该没有区别。

1 个赞

我太快了,还需要一些帮助。我在主题组件的 HEAD 部分添加了以下代码:

<script type='text/x-handlebars' data-template-name='/connectors/timeline-controls-before/adnet'>
    <div class="side-block">
        <div id="supporters"></div>
    </div>
</script>

虽然我(管理员)可以看到它,但普通用户却看不到。有什么想法为什么吗?

看起来该出口仅在“时间线控件”可见时才呈现

也许我们应该在 {{#if 之前引入另一个出口。您怎么看 @isaac @featheredtoast

3 个赞

可以确认,这在 {{#if 之外可用 :+1:t2:

2 个赞