We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 14818
    • 10 Posts
    Reflectで表示されるアーカイブに関してですが
    (現在UTF-8でサイトを構築しています。)
    May 2007
    のようになっているので
    2007年5月
    のようにしたいと思い、ReflectおよびDittoのlangファイルを探しましたが、
    それらしいのはなく、また
    \manager\includes\lang
    の中のjapanese-utf8.inc.phpもみてみましたがやはりありませんでした。

    ただ、
    japanese-sjis.inc.php
    japanese-euc.inc.php
    を開いてみると$_lang[’months’]があり、
    japanese-utf8.inc.php
    にはなかったので一応追加してみましたがやはり変わりませんでした。

    Reflectの日付表示を日本語化するのはどうすればよいでしょうか?

    また、Reflectとは関係ありませんが、ドキュメントの作成日時やカレンダー
    なども

    作成日時: 05/05/07 00:16:10
    のように英語表記で 日>月>年 となっていますが、
    これを年>月>日
    のようにするにはどのようにすれば良いでしょうか?


    質問ばかりで申し訳ございませんが、ご回答よろしくお願いいたします。
      • 6158
      • 224 Posts
      Quote from: joy at May 18, 2007, 02:20 AM

      Reflectの日付表示を日本語化するのはどうすればよいでしょうか?
      以下の説明文は参考にならないでしょうか。使ってないから詳しく分かってま
      せんが。技術的には絶対変更できます。が、直ぐに応えられない。

      - Reflect Snippet
        • 19033
        • 892 Posts
        こんにちは。

        スニペットの Reflect を直すようになると思います。

        426行目付近に
        $month_text = $ditto->formatDate(mktime(10, 10, 10, $mon, 10, $year),"%B");

        というところがあるので、ここの「%B」を「%e」に直します。。勘違いしてました。。「%m」が正解ですね。。

        そして、「reflect_month_tpl」の方を以下のようにしてみてください
        <a href="[+url+]" title="[+year+]年[+month+]月" class="reflect_month_link">[+year+]年[+month+]月</a>


        こんな感じになります。
        http://www.liolion.info/096rc3/blog.html
        (このURLはすぐなくなっちゃうかも知れません。。)


        %B とか %e は、こちらを見て頂くといいとおもいます。
        http://php.benscom.com/manual/ja/function.strftime.php
        ロケールはサーバーによって設定してないこともあるようです。
          • 19033
          • 892 Posts
          あ、ドキュメントの作成日時の表示形式の方は、
          Dittoの「dateFormat」で指定します。
          「&dateFormat=`%Y.%m.%d %R`」などです。
            • 19033
            • 892 Posts
            Reflect の方ですが、日付の形式をパラメータで指定できると
            便利ですよね。。
              • 14818
              • 10 Posts
              custarさん MEGUさん

              ご回答ありがとうございます。
              MEGUさんに教えていただいた方法で望みどおりの結果を得ることができました。
              どうもありがとうございました。

              #MODxはPHPそれほどわからなくても何とかなりますが、PHPを知っていると
              色々とできることが増えそうですね。
              MEGUさんに教えていただいたページなども参考にもう少し勉強していこうと思います。
                • 19033
                • 892 Posts
                あ、良かったですね。
                なんかうちの環境だと「%e」だとよろしくなくて、「%m」で
                うまくいったみたいです。月が一桁の時、前に「0」が入るんですけど。。

                ※私もphp は、眺める専門な方なので (^^;、
                詳しい方のフォローお願いしたいですぅ。。

                2007.5.21追記
                なんかうちの環境だと「%e」だとよろしくなくて、「%m」で…
                よろしくないのは当たり前ですね。。「%e」は日付を現すものです。
                勘違いしてました。。
                  • 6158
                  • 224 Posts
                  Quote from: MEGU at May 19, 2007, 05:40 AM

                  「%m」でうまくいったみたいです。月が一桁の時、前に「0」が入るんですけど。。
                  %n としてみたらどうなりますか?

                  全くソースを見らずに php のパラメータとして考えながら言ってますので、動
                  かないかもしれません。
                    • 19033
                    • 892 Posts
                    Quote from: custar at May 19, 2007, 09:12 PM

                    %n としてみたらどうなりますか?

                    >custar さん。
                    やってみましたが、その部分にはなにも表示されませんでした。
                      • 6158
                      • 224 Posts
                      ditto のソース見ました。

                      strftime() を使われているのですね。だったら "%n" は改行を意味するので表
                      示されません。調べもせずに言ったから間違いです。

                      では、どうするかというと、%-m としてください。
                      これで表示されると思います (未確認)。


                      echo strftime ("%-m");

                      これで、今だったら "5" が表示されます。windows の場合は "%#m" としなきゃ
                      なりません。

                      windows 版 strftime の説明には書かれてますが、unix 版には何の説明もない
                      ですね。忘れてるのかな。