We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 19592
    • 56 Posts
    毎回質問ばかりですいません。
    ウィジェットの便利さがわかり、少しずつ使い始めたのですが、またもditto出力でつまずいています。

    ページごとに画像が1つ入るレイアウトですが
    ページによっては画像なしの時もあるためウィジェットを使っています。

    テンプレート変数[*prodact_image*]の入力タイプをImage、
    ウィジェットをImageにしてAlternate Textは[*prodact_name*]を設定。

    dittoを使う一覧表示ページをつくり、ditto表示用のテンプレートには
    <p>[+prodact_image+][+introtext+]</p>
    のように指定しました。

    一覧表示ページには画像とテキストが表示され、うまくいったと思ったのですが
    画像のaltが入っていないことが判明…。

    テンプレート変数[*prodact_image*]のウィジェット内で指定した[*prodact_name*]は
    プレイスホルダ[+prodact_image+]の中では反映されないのですね。 undecided
    同様にテンプレート変数[*prodact_url*]にウィジェットのHyperlinkを使って
    Display Textに[*prodact_name*]を設定したものもdittoの出力では反映されませんでした。
    (リンクテキストがないためリンクが見えない状態)

    ウィジェットを使わずにテンプレートに
    <a href="[*prodact_url*]">[*prodact_name*]</a>
    <img src="[*prodact_image*]" alt="[*prodact_name*]" />
    と書けば表示は問題ないのですが、リンクやイメージがない場合にゴミが残るのがスマートでないですし、
    せっかく便利な機能を使わないのも、もったいないなぁと思います。

    ウィジェットで設定した変数タグをスニペットのプレイスホルダの中にまで反映させるいい方法はないでしょうか?
    よろしくお願いします。
      • 36592
      • 970 Posts
      こんばんわ~

      ウィジェット... 使ったこと無かったんで試しに使ってみました~ tongue


      画像のaltが入っていないことが判明…。
      これって「alt=""」ってなっちゃうってことですよね?

      私の実験ではちゃんと入ってました。
      Hyperlinkのウィジェットの方も実験してみましたが、こちらも成功。

      そちらでお使いなのは最新公開版(0.9.6)ですか?
      私のところではSVN版の「rev 3057」を使いましたので、
      もしかしたら0.9.6.1が出たら修正されるのかもしれませんね~
      (それ以外に違いが思いつかないですよね。)

      追伸: タイミングよく0.9.6.1が正式リリースされましたね!
        • 19592
        • 56 Posts
        tkfmさん おはようございます。
        確認とレスありがとうございます。

        これって「alt=""」ってなっちゃうってことですよね?
        そうです。

        MODXのバージョンは0.9.6  サーバーはロリポップです。
        もしかしたら0.9.6.1が出たら修正されるのかもしれませんね~
         9.6.1にアップグレードして確認してみます!
          • 19592
          • 56 Posts
          こんにちは。
          0.9.6.1にアップグレードしてみました。

          アップグレード自体はすんなり出来ました。問題なく動いています。
          しかしaltはやはり空のまま alt="" でした。 undecided

          念のため新しいページを作って確認しましたが同じです。

          どなたか同じ症状の方はいませんでしょうか? huh
            • 36592
            • 970 Posts
            う~ん、ダメでしたか... どこか私とやり方が違うんですかね~? undecided

            ちなみに、[*prodact_name*]というテンプレート変数は単なるText型ですか?
            当たり前ですが、ちゃんと値は入っているんですよね?
              • 19592
              • 56 Posts
              tkfmさん おはようございます。

              [*prodact_name*]は入力タイプ Text です。
              個別のページにはちゃんとaltとして入ってるんですよ。

              念のためページのアドレスを載せます
              個別ページ
              http://nankin-mk.com/books/59.html
              ditto表示ページ
              http://nankin-mk.com/books.html

              どちらも同じテンプレートを使用です。
              右コラムのタグと左コラムの著者リストはTvTagCloudをテンプレートに設定。
              左コラムの新着リストはdittoをテンプレートに設定(idつき)
              ditto表示ページのセンターコラムにditto(idつき)で表示。←ここの画像にaltが入っていません。

              作りかけのサイトなのでリンク切れもあったりと、見苦しいですがご容赦下さい。
                • 36592
                • 970 Posts
                こんにちは~

                Quote from: min-o at Nov 11, 2007, 07:53 PM

                [*prodact_name*]は入力タイプ Text です。
                個別のページにはちゃんとaltとして入ってるんですよ。
                ドキュメントのコンテンツに[*prodact_image*]と書くとちゃんと解釈されるのに、
                チャンクに[+prodact_image+]と書いてDittoに渡すと解釈されなくなるってことなんですね。
                「alt=""」が表示されているということは、何か値が設定されていることは認識されていそうですが... これ以上は私には分からないです。 :’(

                何か追加したプラグインとかモジュールが影響してるのかな?
                それとも逆に何かのプラグインとかがあると出るようになるとか。
                といっても、私が実験したサイトでは「SEO Strict URLs」くらいしか追加していませんが。
                  • 19033
                  • 892 Posts
                  こんにちは。
                  興味があったので私も試してみました。

                  096 です。Ditto は2.1bataと2.02で試してみました。
                  結果からしますと、min-oさんと同じ結果になりました。が表示する方法?は見つけました。。

                   ドキュメントA Ditto call
                    └ ドキュメントB 各アイテム
                    └ ドキュメントC 各アイテム

                  各アイテムで、以下のように
                  [*introtext*]
                  [*prodact_image*]


                  [*prodact_image*] は以下のようです。
                   入力タイプ image
                   ウィジェット image
                   Alternate Text [*prodact_name*]

                  各アイテムでは、prodact_name に値を入れました。

                  次にドキュメントAのDitto Call は、以下のようです。
                  [[Ditto? &tpl=`ditto-test`]]


                  また tpl=ditto-test は、以下のようです。
                  <p>[+prodact_image+]</p>[+introtext+]


                  上記のようにしたドキュメントA において、image は表示されましたが、altは、alt="" になりました。

                  次に、tpl=dtto-test を以下のようにしました。
                  <p>[+prodact_image+]</p>[+introtext+]<span style="display:none;">[+prodact_name+]</span>

                  (Display:none は単に表示しないようにするためのモノです)。

                  そうすると、image タグの中のaltにも値が渡されました。からくりはよくわからないのですが。。
                  Ditto で呼び出すチャンクの中に、直接的にプレイスホルダとして書いてないとダメってことなのかな...?
                    • 19592
                    • 56 Posts
                    こんにちは。

                    もしやdittoのバージョンかと思いまして2.0.2を2.0.3にアップデートしてみましたが、変化なしでした。
                    モジュール、プラグインはいじってないのでインストール時のままです。

                    というようなレスを書いていたところで、 MEGU さんの投稿を読みました。

                    [+prodact_name+] cssのdisplay:none;で出来ました。 laugh
                    dittoやシステムをいじることばかり考えていたので、まさに目からうろこでした!!
                    ありがとうございます。

                    Ditto で呼び出すチャンクの中に、直接的にプレイスホルダとして書いてないとダメってことなのかな...?
                    ditto 2.0.2 、2.0.3 ではどうもそのようですね。

                    tkfmさんの環境で出来たのは、なにが違ったかしら… huh
                      • 36592
                      • 970 Posts
                      MEGUさん、すごい!  shocked

                      Quote from: min-o at Nov 12, 2007, 01:34 AM

                      tkfmさんの環境で出来たのは、なにが違ったかしら… huh
                      私のところも表示させていました。
                      (SPANタグで隠してはいませんでしたが...)

                      何でそうなるのかは、全く分かりませんが... huh
                      キャッシュあたりがくさいですが...
                      一度表示させたら、元に戻しても表示したりして~... そんなわけないか...