2012年3月31日土曜日

MODx Revolution で、日本語エイリアスを設定できるようにする

MODx Revolution でフレンドリーURL を有効にすると、各リソースで設定した 「エイリアス」 がそのページの URL に使われるようになります。でもこのエイリアスに日本語を設定すると、うまくいきません。どうでも良いことなんだけど、何とか設定できるようにしてみたくなりました。
ということで探してみると、以下の情報に当たりました。
参考URL:
http://forums.modx.com/index.php?topic=28290.0http://mixi.jp/view_bbs.pl?id=18851291&comm_id=571831&page=all
これらは Evo の情報だったので、Revo の方でも似たようなところがないかと探してみると、次の修正で出来るようになりました。なおバージョンは  2.2.0-pl2 です。
core/model/modx/modrequest.class.php の 417行目あたり
if (isset ($_GET[$rAlias])) {
    $_GET[$rAlias] = preg_replace("/[^A-Za-z0-9_\-\.\/]/", "", $_GET[$rAlias]);
}

if (isset ($_GET[$rAlias])) {
    $_GET[$rAlias] = preg_replace("/[^A-Za-z0-9_\-\.\/]/", "", str_replace("%2F","/",urlencode($_GET[$rAlias])));
}
これで出来ました。
完全に自己責任の世界ですのでそこのところよろしくです。

0 件のコメント:

コメントを投稿