抱歉占用您的周末时间 David,是的,刚看到 API,谢谢
您好,我尝试像这样为“topic-list-columns”使用值转换器:
export default {
name: "assignment-topic-list-column-modifier",
initialize(container) {
const router = container.lookup("service:router");
withPluginApi("1.39.0", (api) => {
api.registerValueTransformer(
"topic-list-columns",
({ value: columns }) => {
if (ASSIGN_LIST_ROUTES.includes(router.currentRouteName)) {
columns.add("posters-recent", {
header: AssignHeaderCell,
item: AssignCell,
after: "posters",
});
}
return columns;
}
);
});
},
};
目标是在“posters”列之后插入新的列项和标题,它对项有效,但标题仍然不在正确的位置,它被放置在“activity”列之后。
我的代码有什么遗漏吗?是否有任何文档解释了如何正确执行此操作?
有一个新指南:
但是,在这种情况下它可能不是很有用。
@NateDhaliwal 谢谢你的信息,我会去查看。
我认为代码应该看起来像这样:
columns.add(
"posters-recent",
{ header: AssignHeaderCell, item: AssignCell }
{ after: "posters" }
});
您可能需要指定一个 before:
{after: "posters", before: "replies"}
@Arkshine 非常感谢,你的代码奏效了!!!太棒了 ![]()
我们现在为这些弃用功能启用了警告横幅,因此社区管理员将收到有关仍需更新的主题或插件的通知。
我们还发布了一份参考指南,其中包含指向您可以自定义新主题列表的所有不同方式的链接:
我已将链接添加到 OP。
大卫,不确定你更喜欢这个主题还是另一个,但这是:
我的新(我认为)符合规范的组件在“启用 Glimmer 主题列表”设置为“自动”时失败……
这表明新的 API 在“自动”时未被激活……我是否需要做些什么来指示主题组件,以便 Discourse 在“自动”时使用新的 Glimmer API?
我注意到这里的警告:
但它仍然没有搞砸任何事情,尽管您上面提供的日期已经过去,而我使用的是最新版本……?
事情有点延迟,但我们希望在未来一到两周内完成旧代码的弃用。
那么,这会完全破坏尚未更新的主题吗?我们应该避免更新吗?或者,如果我们分叉主题,有什么可以简单做的吗?
是的,这会阻止它们对主题列表的自定义生效。
我不建议这样做。Discourse 核心更新通常包含安全修复程序,如果您停止更新,您的社区可能会面临风险。
听起来您已经在另一个主题中解决了这个问题:您已经解决了 ![]()
Discourse 核心已移除旧的主题列表和“原始 Handlebars”系统(请参阅此处的提交)。感谢所有为此次更改更新插件和主题的各位!![]()
太棒了!祝贺 CDCK 团队完成了这项工作。 ![]()
也要感谢您和您的团队对功能请求的积极响应以及新 API 设计的深思熟虑 ![]()
我曾担心我们会失去一些功能。但实际上,我们获得了更多功能,同时使用起来也更加方便! ![]()
关于原始模板,我是否正确理解,在模板中使用带有自动完成功能的组件(例如 emoji)将不再可能?
this.textManipulation.autocomplete({
template: renderEmojiAutocomplete,
看起来现在只能返回 HTML 了。
我认为您说过自动完成将在某个时候被重新设计,但这可能不会很快实现。
您是否看到了这里的解决方法?(尝试修复 Emoji Fluff TC)
抱歉,我们没有为自动完成功能设置适当的弃用消息!但有一个前进的方向——请查看:Autocomplete still using Raw Templates - #4 by david