我在这方面有点卡住了:我想从一个特定的主题重定向到一个类别路由,类似这样:
/t/slug/123 => /c/slug/456
我意识到管理员中的固定链接并非用于现有的 Discourse URL,并且这可以通过一些自定义代码来完成。有人能给我指个方向吗?
谢谢!
我在这方面有点卡住了:我想从一个特定的主题重定向到一个类别路由,类似这样:
/t/slug/123 => /c/slug/456
我意识到管理员中的固定链接并非用于现有的 Discourse URL,并且这可以通过一些自定义代码来完成。有人能给我指个方向吗?
谢谢!
好的,我已经拼凑了一个解决方案,似乎可行。我这样做对吗,还是我在做一些糟糕的事情? ![]()
<script type="text/discourse-plugin" version="0.8">
// 修改主题路由。
api.modifyClass('route:topic', {
beforeModel( transition ) {
var params = this.paramsFor('topic');
// 英语
if( params['id'] == 123 ) {
this.router.transitionTo('/c/tutorials/english/29'); // 隐式中止正在进行的转换。
}
// 法语
if( params['id'] == 456 ) {
this.router.transitionTo('/c/tutorials/french/30'); // 隐式中止正在进行的转换。
}
}
});
</script>
我的主题没有被删除,我只是需要将它们固定作为导航工具。我测试过,固定链接对现有网址不起作用,对吗?
啊,不对。永久链接仅在主题被删除时才有效,否则您将不会被重定向,而是会登陆到成功网址。