「エケペディア:編集議論」の版間の差分

No.name2 (トーク | 投稿記録)
No.name2 (トーク | 投稿記録)
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>


== 記事名のルールに合わせた現存ページの移動作業について ==
== 記事名のルールに合わせた現存ページの移動作業について ==