お疲れ様です。
今回、Joomla1.5系にて
新着記事表示モジュールを利用すると
日付がずれる(タイムゾーンを日本にしているにもかかわらず標準時間になる)
という現象を解決するために、いろいろ調査した事柄です。
何かの役に立つかもということで
一応残しておきます。
その前に、上記件の解決方法ですが
mod_latestnewsモジュールの
日付表示部分に+9時間するように修正しました。
(あまりいいとはいえませんが・・・)
コードは割愛致します。
ではでは、今回判明した事柄です。
①記事の作成や編集時にDBへデータを保存している箇所
ルートフォルダ/administrator/components/com_content/controller.php
saveContent関数
作成日時等の日時はtoMySQL関数という
MySQLのdatetime形に型を整形している感じです。
また、taskパラメーターによって、保存や適用の
リダイレクト処理もsaveContent関数内で処理もしています。
②toMySQL関数定義ファイル
ルートフォルダ/libraries/joomla/utilities/date.php
toMySQL関数のほかに
タイムゾーンによって日付を加算する処理等も行っているようですが
私の環境(Joomla1.5.22)では管理画面上に表示されている日付と
DBに格納されている日付に相違があります。
このtoMySQLで正しいタイムゾーン値(日本なら+9)が取得されてないため
DBに格納する際は標準時間(ロンドン)で格納されます。
このあたりを修正してみたのですが、なぜか保存や適用をするたびに
作成日時がどんどん+9されてしまいます。
③JFactoryクラス定義ファイル
ルートフォルダ/libraries/joomla/factory.php
これはJoomla内でよく利用されるJFactoryクラスが定義されている場所です。(おそらく)
以上です。
0 件のコメント:
コメントを投稿
こちらにコメントをどうぞ