「エケペディア:編集議論」の版間の差分
| 119行目: | 119行目: | ||
::調べたところ、MediaWiki本体(LocalSettings.phpか何処か)に数行のコードを書くだけでリンクにカテゴリ名のclassを付加できそうですが、スクリプトで処理したほうが良いでしょうか?--[[利用者:No.name2|No.name2]] ([[利用者・トーク:No.name2|トーク]]) 2014年2月12日 (水) 20:12 (JST) | ::調べたところ、MediaWiki本体(LocalSettings.phpか何処か)に数行のコードを書くだけでリンクにカテゴリ名のclassを付加できそうですが、スクリプトで処理したほうが良いでしょうか?--[[利用者:No.name2|No.name2]] ([[利用者・トーク:No.name2|トーク]]) 2014年2月12日 (水) 20:12 (JST) | ||
:::記事名からカテゴリを取得する方法がわからん… --[[利用者:48wiki|48wiki]] ([[利用者・トーク:48wiki|トーク]]) 2014年2月13日 (木) 22:03 (JST) | :::記事名からカテゴリを取得する方法がわからん… --[[利用者:48wiki|48wiki]] ([[利用者・トーク:48wiki|トーク]]) 2014年2月13日 (木) 22:03 (JST) | ||
::::たぶん、このコードでいけると思いますが、負荷がどのくらいかは不明。--[[利用者:No.name2|No.name2]] ([[利用者・トーク:No.name2|トーク]]) 2014年2月14日 (金) 20:23 (JST) | |||
<pre> | |||
$wgHooks['LinkBegin'][] = 'addLinkCategories'; | |||
function addLinkCategories($dummy, $target, &$html, &$attribs) { | |||
$cat = array_keys($target->getParentCategories()); | |||
if ($cat) { | |||
$class = (isset($attribs['class'])) ? $attribs['class'] . ' ' : ''; | |||
$attribs['class'] = $class . str_replace(array(':', '/'), '-', implode(' ', $cat)); | |||
} | |||
return true; | |||
} | |||
</pre> | |||
== 記事名のルールに合わせた現存ページの移動作業について == | == 記事名のルールに合わせた現存ページの移動作業について == | ||