On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • アクセスしてきた端末のUset Agentにより表示するテンプレートを変更したり、文字コードを変更するプラグインを作ってみました。
    携帯端末でアクセスしてきたときにテンプレートの切り替えを行ったり文字コードをShift_JISに変更したりすることを主な目的としてるのでMobileConverterという名称にしています。
    が、User Agentによる振り分けは結構自由に設定できるようにしている(つもりな)ので、他の用途にも使えるかもしれません。
    (例えばブラウザごとに違うテンプレートを使用したり、言語ごとに違うテンプレートを使用したり…)

    携帯端末ごとのUser Agentのタイプはあまり詳しくないので、付属のreadmeに書いている設定例は微妙かもしれないので、そのあたりは適宜修整したいただくか、よければこのフォーラムで突っ込みをお願いします smiley

    • こんにちは。soushiさん。
      大変便利なプラグインをありがとうございます。
      フォーラムで解説をアップさせて頂きました。
      http://modxcms.com/forums/index.php/topic,23648.0.html
      あと、うちのサイトでも。。
      http://www.liolion.info/modx/resource/mobileconverter.html

      勘違いしているところがあったら、どうぞ教えてください。
      それと、要望もちょっとあったり。。^^。

      それとひとつ質問があるのですが、&alwaysConverCharset はデフォルトで、yesでしょうか。。noでしょうか。。
      • さっそく解説を書いてくれたのですかー。
        ありがとうございます smiley
        僕の殴り書きのreadmeよりも全然綺麗に整ってるっ shocked

        要望も拝見したので、次の修正に取り入れたいと思います。
        あと対象となったドキュメントは強制的にキャッシュ機能がOFFになることをreadmeに記述するのを忘れてました…フォローどうもです。

        Quote from: MEGU at Mar 10, 2008, 12:38 PM

        それとひとつ質問があるのですが、&alwaysConverCharset はデフォルトで、yesでしょうか。。noでしょうか。。

        デフォルトはnoです。
        普段は&UserAgentに引っかかったもののみが文字コード変換され、引っかからなかったものは変換されません。
        • soushiさん。ありがとうございます。

          Quote from: soushi at Mar 10, 2008, 01:00 PM

          Quote from: MEGU at Mar 10, 2008, 12:38 PM

          それとひとつ質問があるのですが、&alwaysConverCharset はデフォルトで、yesでしょうか。。noでしょうか。。
          デフォルトはnoです。
          普段は&UserAgentに引っかかったもののみが文字コード変換され、引っかからなかったものは変換されません。

          解説の方、直しました。^^。
          • こんにちわ。
            携帯用ページを追加する必要がでましたので、MobileConverter1.10をインストールしてみたのですが、エラーがでてPC用のページが表示されなくなってしまいました。

            modx 0.9.6 です。
            プラグイン設定:は 例-1)PC&携帯サイト対応(画像変換なし)を使い、&targetDocのIDを必要なページに変更して使っています。

            ページをPCで開くと、以下のエラーが出ました。 huh

            Fatal error: Call to undefined function: stripos() in /lvm/0308/vuser11/0/4/0089340/www.サイトURL/manager/includes/document.parser.class.inc.php(742) : eval()'d code on line 156


            MobileConverterを停止すると、問題なく表示されます。

            該当ファイルを見てみましたが、156行目は改行のみでした。
            付近のコードは150~161行目は以下です。
                // function to connect to the database
                // - deprecated use $modx->db->connect()
                function dbConnect() {
                    $this->db->connect();
                    $this->rs= $this->db->conn; // for compatibility
                }
            
                // function to query the database
                // - deprecated use $modx->db->query()
                function dbQuery($sql) {
                    return $this->db->query($sql);
                }


            便利なプラグインなので、ぜひ使用したいのですが、わたしには解決の手がかりも見えません。 :’(
            よろしくお願いします。
            • エラーが出るってことなんで、設定の問題では無いような感じですね...

              1.プラグイン設定のtargetDocはどのように設定していますか? ここを「0」にしても同じエラーが出ますか?
              2.プラグインを貼り付けたときPHPのタグ(<?php...?>)を最初と最後に入れてませんか?
                (スニペットでは必要ですが、プラグインでは不要です。)
              • こんにちは。
                プラグイン設定に記述ミスがあっても、Fatal error: がでることがあります。
                (私もやりました...)。
                • こんにちわ。

                  お使いのPHPのバージョンは4なのでしょうか?
                  MobileConverterではstriposという関数を使ってるのですが、これがPHP4では利用できないようです。
                  (エラーログの「Call to undefined function: stripos() 」と書いてる部分です)

                  striposがPHP4で使えないのは盲点でした…striposを使わなくても動作するように変更するので少々お待ちいただけますでしょうか。

                  …と、どういう風に変更しようかな :’(

                  • Quote from: soushi at Mar 26, 2008, 11:37 AM

                    MobileConverterではstriposという関数を使ってるのですが、これがPHP4では利用できないようです。
                    何と!... そりゃ私には手におえないや... :’(
                    • MobileConverterではstriposという関数を使ってるのですが、これがPHP4では利用できないようです。

                      注意書きを足しておきました。
                      http://modxcms.com/forums/index.php/topic,23648.msg145707.html