要するに、これは不可能です。しかし、私は考えているいくつかのオプションがあります。一般的には、これらのリンクは、EXT:linkhandler
1)手動で変換すると悲しいですが、あまりにも多くのリンクが存在しない場合は、確かに最速です。
2)ブートストラッピング中に使用されるTYPO3のフックの1つを使用し、カスタムリダイレクトを行います。例えば。 $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/index_ts.php']['preprocessRequest']
。
3)エラー処理を行い、エラーページを表示する前にリダイレクトします。チェックアウトするための1つの例は、私がしたext:https://github.com/georgringer/fast_redirectです。あなたのニーズに合わせて変更する必要があります。私はしばらく前に大きな輸入のためにやった、あなたが実際にも何ができるか
、:、もう一度すべてのニュースレコードを削除するテーブルを切り捨て、任意のPHPスクリプトを使用し、同じ量のテーブルtx_news_domain_model_news
を埋めますtt_news
にあるニュースエントリを削除し、uidをtt_newsの1つに設定し、import_sourceフィールドをTT_NEWS_IMPORT
に設定し、import_idフィールドとtt_news uidのuidを設定します。その後、インポートではfindOneByImportSourceAndImportId()
というダミーのtx_news_domain_model_news
レコードが選択され、通常のデータで充実されます。同じuidを持つニュースレコードで終了します。
変換されたリンクはどのように正確に見えるでしょうか? この 'index.php?id = 10&tx_news_pi1 [news] = 123'を使用すると、「古い」ニュースのuidが新しいものと異なるため、正しいニュースが見つかりません。 – ma77hi4s
もちろん、ニュースIDも更新する必要があります。 –
hmm、ok、tx_news拡張の一部にキャッチ/フックしてデータベース項目 "import_id"でニュース項目を取得する方法があると考えました。 NewsRepositoryクラスのこのメソッド "findOneByImportSourceAndImportId()"は何とか使用できませんか? – ma77hi4s