[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/15 15:23 / Filesize : 385 KB / Number-of Response : 966
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

=== MediaWiki 管理者の集い 第2版 ===



1 名前:nobodyさん [2007/07/04(水) 07:24:10 ID:77E6ADvG]
MediaWiki について情報交換するスレです

== 公式サイト等 ==
[www.mediawiki.org/wiki/MediaWiki/ja MediaWiki.org]

[www.mwusers.com/ MediaWiki Forums]
[www.amazon.co.jp/dp/1904811590/ Mediawiki Administrators' Tutorial Guide]
日本語翻訳中(らしい)


375 名前:nobodyさん mailto:sage [2007/12/24(月) 19:28:14 ID:???]
345です。
その節はお世話になりました。

依然としてmediawikiをcmsツールとして利用できないかと
色々TRYしています。

先日は、ページ毎にSkinを変更する手段としてLocalSettings.php
にif文を記載して分岐しましたが、これだとページを作成する度に
LocalSettings.phpに手を加えなくてはなりません。
これを回避するために、ページにSkin名が含まれている場合
当該Skinで表示するということをやろうと思い、次のように
コーティングしましたが上手く行きません。


イベントハンドラをフックに割り当て、フックのイベント
が発生したタイミングでchangeSkinが実行されることを予定してい
ます。
changeSkinでは$wgOut->getHTML()で得たHTML文にSkin名(例ではnostalgia)
が記載されている場合は$wgDefaultSkin = 'nostalgia';となるように
しています。

フックのイベントのタイミングが既にSkinが選択された後であれば
当然上手く行かないでしょうし、また、$wgOutにHTML文が割り当てられて
いない時も上手く行かないと思います。コメント部分で色々と
フックのイベントタイミングを選びましたが、なかなか上手く行きません。

どのようにコーティングすれば当初の目的が果たせるでしょうか。

よろしくお願いします。
なお、書き込みエラーになったのでコードは次に書き込みます。

376 名前:nobodyさん mailto:sage [2007/12/24(月) 19:31:37 ID:???]
<?php

//$wgHooks['OutputPageBeforeHTML'][] = 'changeSkin';
//$wgHooks['ArticleAfterFetchContent'][] = 'changeSkin';
//$wgHooks['ParserBeforeTidy'][] = 'changeSkin';
//$wgHooks['ParserBeforeStrip'][] = 'changeSkin';
//$wgHooks['OutputPageParserOutput'][] = 'changeSkin';
//$wgHooks['ArticleFromTitle'][] = 'changeSkin';

$wgHooks['ArticleFromTitle'][] = 'changeSkin';

function changeSkin() {
global $wgDefaultSkin,$wgOut;
if(strpos($wgOut->getHTML(),"nostalgia")!== false) {
$wgDefaultSkin = 'nostalgia';
}
return true;

}
?>








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<385KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef