MediaWiki を使用しています。wiki の一部のページには、このページの下部にあるような 1 つ以上の大きなナビゲーション ブロックが含まれています。
このようなブロックは多くのページに含まれています。現在、ページが保存されると、他のページへのリンクのリストも更新されます (pagelinks
表)。これらの参照は、「What links here」の特別ページや、おそらく他の同様のページでも使用されています。
しかし、実際には、これらのブロック内のリンクがそのためにカウントされることは望んでいません。この他のページへのリンクの更新プロセスで、ページの一部を除外するように MediaWiki に影響を与える方法はありますか?
私はいくつかの拡張機能を作成し、特定のクラスをオーバーライドし、いくつかのフックを使用したので、それらがどのように機能するかの基本は知っていますが、プロセスのこの部分に影響を与える適切なフックを見つけることができません.
試みが行われる限り、ParserOutput::addLink
解析されたリンクを配列に格納するために使用される が見つかりました。次に、保存時に、この配列がデータベースにマージされます。addLink はいくつかの場所から呼び出されますが、特に からParser::replaceInternalLinks2
呼び出されParser::internalParse
ます。
私が正しく理解していればinternalParse
、テキストごとに個別に呼び出されます。これには、個別のインクルードだけでなく、ネストされたタグも含まれます。で呼び出されたフックを使用できるかもしれませinternalParse
んが、まだ聖杯を見つけていません。できれば Parser クラス自体を変更せずに、正しい方向へのプッシュを使用して解決できます。