MediaWikiでカテゴリ表示部分のHTMLを元に指定カテゴリで処理を分岐する

MediaWikiのテンプレート部分の分岐や改造は難解で、簡単にページや状態により分岐を行えないようになっている。ページごとの編集が簡潔な分非常に残念。
そんななかで、それなりに表示している変数や値を元に分岐しようと思う。

カテゴリごとに背景色を変更したり、注意分を表示したり、アイコンを表示したりとカスタマイズしたいケースがある。

ファイルの場所:\skins\Vector\VectorTemplate.php

VectorTemplate.phpを開いて、<body>内の表示部分の処理に変更を加えたい場所にいかのコードを入れる。

<?php
// カテゴリ表示部分のHTMLを取得
$catlinks = $this->data['catlinks'];

// aタグを分解する
preg_match_all("|<a href=\"(.*?)\".*?>(.*?)</a>|mis",$catlinks,$catlinks_matches);

// 指定したカテゴリが存在するか分岐する
preg_match_all("|(.*?)|mis",$catlinks,$catlinks_matches);

// 指定したカテゴリが存在するか分岐する
$cat_found = false; // 指定カテゴリが存在するかどうか
foreach ( $catlinks_matches[2] as $catname ) {
if ( $catname == '閉鎖' ) {
$cat_found = true;
}
}

if ( $cat_found == true ) {
// カテゴリが存在するならば、処理する
echo '<div style="margin: 1em 0; padding: 1em; border: solid 10px #fc9; font-size: 2em; color: #f60; background: #fec;">閉鎖または停止</div>';
}
?>