We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 23725
    • 6 Posts
    すいませんDittoのフィルターがうまく作動せず困っています。

    やりたいこと
    テンプレート変数「キャッチコピー」が空白以外のものを表示させたい。

    記載したフィルター
    &filter=`キャッチコピー, ’’, 1`

    結果
    何も表示されず…。

    状況を確認するためにさらに試したこと
    &filter=`キャッチコピー, ’’, 2`

    結果
    「キャッチコピー」の内容に関わらずフィルタリングされず全部表示される…。

    MODxのバージョンは0.9.6です
    Dittoのバージョンは2.0.2

    よろしくお願いします。
      • 19033
      • 892 Posts
      こんにちは。
      Ditto のフィルタリングは、「排除する」機能なので、
      例えば、
      &filter=`キャッチコピー, '', 1`

      だと、「キャッチコピー」が「’’」と等しくないモノを表示から排除します。
      ですから、空白以外は表示されない結果になると思います。
      (空白のものは表示されて良さそうなモノですが"criterion"の指定の仕方がまずいのかも。。)

      従ってこれも
      &filter=`キャッチコピー, '', 2`

      「キャッチコピー」が「’’」と等しいモノを除外する(それ以外は表示)ですから、
      空白のもの以外が表示される結果となります。

      という点をふまえて、"criterion"の指定の仕方を考えてみては
      どうでしょう…?(例えば、NULL ではなく、「1」とか「2」とか?)

      Ditto 2.1betaの解説は、ここにアップしました。
      http://www.liolion.info/modx/resource/ditto2.html
      フィルタリングについてはここです。
      http://www.liolion.info/modx/resource/ditto2.html#pra_filter

      まだ動作が不安な部分があるので、こちらのフォーラムには
      解説挙げてないんです。。
        • 23725
        • 6 Posts
        早速のお返事どうもありがとうございます

        &filter=`キャッチコピー, 'a', 1`

        &filter=`キャッチコピー, 'a', 2`


        として
        テンプレート変数「キャッチコピー」にaを入れて
        やってみましたが同じ結果となりました。
        なにかおかしなところがあるのかもしれません
          • 23725
          • 6 Posts
          書き忘れました
          入力タイプは「Text」です
            • 23725
            • 6 Posts
            立て続けにポストすいません
            コードにスペースがあったので除去し念のため以下のようにしてみましたが
            &filter=`キャッチコピー,'a',1` &globalFilterDelimiter=`|` &localFilterDelimiter=`,`
            

            状況は変わりません embarrassed
              • 19033
              • 892 Posts
              こんにちは。ちょうど、テンプレート変数を使って、「注目記事」を
              フロントページに表示するサンプルを作ろうと思っていたので、やってみました。

              自分のとこのフロントページでやってみました。
              http://www.liolion.info/modx/

              Ditto コール
              [[Ditto? &id=`hotnews` &config=`hotnews_forfront`]]

              コンフィギュレーションファイル
              	$language = 'japanese-utf8';
              	$parents='54,70,307';
              	$depth='0';
              	$total='all';
              	$display='all';
              	$dateFormat='%Y.%m.%d %R';
              	$filter='hotnews,注目記事,1';
              	$tpl='entrylist-short';
              	$showInMenuOnly='1';
              

              コンフィギュレーションファイルにしていますが、それぞれのパラメータをDitto コールの中で
              指定しても結果は同じになります。

              テンプレート変数
              * 変数名 … hotnews
              * 入力タイプ … チェックボックス
              * 入力時のオプション値 … 注目記事

              入力タイプはチェックボックスにしてありますが、テキストでも試してみました。
              上手くできました。

              結論から言うと、テンプレート変数によるフィルタリングはうまくいっているようなんですが、
              んー。もしかすると、テンプレート変数名に、2バイト文字を使っているのがまずいのかな…?

              ---*---*---*---*---*---
              Ditto 2.1beta と 2.0.2 で試してみました。
              あ、MODx は096と095です。
                • 23725
                • 6 Posts
                どうもすいません
                1バイト系のテンプレート変数「test」に変えてみましたが状況は変わりません。
                …いろいろ試してみたいと思います。
                  • 23725
                  • 6 Posts
                  お騒がせしました
                  MEGUさんに習って
                  &filter=`キャッチコピー,'a',1`

                  を
                  &filter=`キャッチコピー,a,1`

                  と「’’」をとって実施したところどうやらうまくいったようです。
                  もう少し検証してみます。
                    • 19033
                    • 892 Posts
                    Quote from: poppo at Jul 15, 2007, 08:31 PM

                    ...と「’’」をとって実施したところどうやらうまくいったようです。

                    あ、なるほど。それ(’’)はまずいかも。。