Welcome !! Now 2009.07.04 11:45 (JST)

MODx0.9.6の問題点と対策

[ トラブル ]

新しくリリースされたMODx0.9.6 の問題点と対策についてわかる範囲で書いていきます。このページは、徐々に追加されていくでしょう。

スニペットの問題

AjaxSearchで検索ができないことがある…※解決※

サンプルコンテンツの「HOME」「Features」「Features」「Features」で、検索不可。またIEで見ると、前述のページのサーチボックスの下に不要な黒い範囲が見える。フォーラムで報告

回避策

ドキュメントのキャッシュを「可」に設定する場合
スニペットコールをキャッシュ形式で書く
[[AjaxSearch? ajaxSearch=`1` &addJscript=`1`]] 等
ドキュメントのキャッシュを「不可」に設定する場合
スニペットコールは、どちらの形式でも問題は起こらない。

Web からユーザ登録しようとすると、エラーメッセージが表示されて送信できない

サンプルコンテンツの「request an account」からWeb ユーザ登録しようとすると、エラーメッセージが表示されて送信できない。スニペット「Websignup」の問題。バグリポート済み。

参照:http://modxcms.com/forums/index.php/topic,15170.30.html

回避策

soushiさんがパッチを作ってくださいましたので、バグフィックスされるまで、そちらを利用されても良いかと思います。websignup.inc.zip(weblogin下のwebsignup.inc.php と置き換えます)

feed.rss にアクセスすると、パースエラーが表示される…※解決※

Ditto が出力するfeed.rssにアクセスすると、以下が表示され、feedが表示できない。

XML パースエラー: 整形式になっていません。
URL: http://sample.com/feed.rss
行番号: 1, 列番号: 3:<?
--^

回避策

「ditto/configs/default.config.php」を以下のように訂正

<?
// Use the following syntax $param = 'value';
?><?php
// Use the following syntax $param = 'value';
?>

ここを直せば、サイドメニューに表示される不要なコード「<? // Use the following syntax $param = 'value';」も挿入されなくなる。

また、スニペット「Reflect」の同ファイルも同様に修正すると、ドキュメントに挿入される不要なコードが挿入されなくなる。

なお、このエラーは、php.iniで「short_open_tag = on」がセットしてある場合はおきません。※「short_open_tag = on」の場合、XML宣言をページの先頭に入れると、エラーになります

その他の問題

管理画面のドキュメントツリーを右クリックしたときに表示されるプレビュー機能について…※回避※

MODx096から新採用された機能として、管理画面の左ペイン、ドキュメントツリーでドキュメントを右クリックしたときに、表示されるメニューの中に、「プレビュー」機能が追加されましたが、この「プレビュー」で表示したドキュメントのURIは、FURLを設定してあっても、「/index.php?id=xx」の形式で表示されます。

回避策

SEO Strict URLs を導入すると回避できます。

ロケールに基づく日付が正常に表示されない…※解決※

サーバー側でロケールの設定が有効な場合、MODxの出力結果の中に、ロケールに基づく日付が存在すると、マネージャにログイン中は、その部分が文字化けする場合があります。

また、マネージャにログインしていない状態では、ロケールの設定が無効になりロケールに基づく日付を正常に表示できません。

具体例

  • マネージャ画面の「イベントログ」の日付が文字化けしている
  • マネージャにログイン中「サンプルコンテンツ」の「Jot」がはき出す日付が文字化けする
  • マネージャにログイン中「サンプルコンテンツ」の「Ditto」「Reflect」がはき出す日付が文字化けする
  • ログインしていない状態で、サーバー側のロケール設定が有効にならない

回避策

utf8用の言語ファイルのロケール設定を修正する(現在デフォルトでは以下の5つ)
  • manager/includes/lang/japanese-utf8.inc.php
  • modules/docmanager/lang/japanese-utf8.inc.php
  • modules/quick_edit/lang/japanese-utf8.inc.php
  • assets/snippets/AjaxSearch/lang/japanese-utf8.inc.php
  • assets/snippets/Ditto/lang/japanese-utf8.inc.php
setlocale( LC_ALL, "ja_JP");

上記を↓以下に修正

setlocale( LC_ALL, "ja_JP.UTF-8");
manager/includes/document.parser.class.inc.php の18行目付近を修正する
function DocumentParser() {
  setlocale(LC_ALL,"ja_JP.UTF-8"); // <-- 挿入する

参照トピ:XREAでロケールに基づく日付の表示が変なのですが..?

phpMyAdminで見たとき文字化けしている…※解決※

MYSQL5 の環境にインストールしたMODx に2バイト文字を入力すると、表示上は問題がなくても phpMyAdmin で見たとき、2バイト文字が文字化けしていることがあります。

回避策

「manager/includes/config.inc.php」の以下の部分を修正します

$database_connection_charset = '';

$database_connection_charset = 'utf8';

※希望の文字コードに変更します。

参照トピ:Re: 【資料】MODxが稼働するレンタルサーバ

△ページトップ