特定のトピックをカテゴリにリダイレクトする方法

この件で行き詰まっています。特定のトピックからカテゴリルートにリダイレクトしたいと考えています。以下のようなものです。

/t/slug/123 => /c/slug/456

管理画面のパーマリンクは既存のDiscourseのURLを対象としていないことは承知しており、カスタムコードで対応できることも理解しています。どなたか、方向性を示すような例を教えていただけますでしょうか?

よろしくお願いします!

「いいね!」 1

解決策をまとめたのですが、機能しているようです。正しく行いましたか、それともひどいことをしていますか? :see_no_evil:

<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>
「いいね!」 1

パーマリンクではこれができないのですか?

「外部リンクまたは相対URL」オプション(ただし、もっと良いものがあるかもしれませんが)を使用して簡単なテストを行ったところ、うまくいったようです。

削除されたトピック/投稿を表示する権限を持たないユーザーでテストすることを忘れないでください。

「いいね!」 2

トピックは削除されませんが、ナビゲーションツールとしてピン留めする必要があります。これをテストしたところ、パーマリンクは既存のURLでは機能しないようですが、そうではありませんか?

ああ、いや。パーマリンクはトピックが削除された場合にのみ機能し、それ以外の場合はリダイレクトされず、成功したURLに着地します。