himekuma

MoreCustomFieldsの複数チェックボックスの、同じ値の数を取得したいです

0

画像の登録と、画像のタイプを選択するチェックボックスを1セットとして、
10セット、カスタムフィールドを作成しています。
画像のタイプは、10セット全て同じ名前のチェックボックスです。
これを1記事として、ギャラリーのように記事を増やしていきます。

この各記事の10セットの中で、例えば「リビング」にチェックが入っている画像が、全部で何個あるか、カウントをすることは可能でしょうか?
カウントが必要な理由は、画像にページ内で降順の連番を付けたいためです。

現状の記載は下記の通りですが、1つづつカスタムフィールドを読むため、それぞれの記事数の取得しかできていません。そのため、カスタムフィールド単位で連番がついてしまい、同じ1番が複数存在してしまいます。
下記では数が多いと見辛いため、3個のカスタムフィールドで例をあげています。

<ul>
<MTSetVarBlock name="entry_num"><$MTEntriesCount$></MTSetVarBlock>
<mt:Entries sort_order="descend">

<mt:If tag="EntryPictureRoomType1" like="リビング">
<li>#<MTGetvar name="entry_num"><MTIfNonEmpty tag="EntryMyPicture1">
<MTEntryMyPicture1Asset><img src="<$MTAssetURL$>" /></MTEntryMyPicture1Asset></MTIfNonEmpty></li>
</mt:If>

<mt:If tag="EntryPictureRoomType2" like="リビング">
<li>#<MTGetvar name="entry_num"><MTIfNonEmpty tag="EntryMyPicture2">
<MTEntryMyPicture2Asset><img src="<$MTAssetURL$>" /></MTEntryMyPicture2Asset></MTIfNonEmpty></li>
</mt:If>

<mt:If tag="EntryPictureRoomType3" like="リビング">
<li>#<MTGetvar name="entry_num"><MTIfNonEmpty tag="EntryMyPicture3">
<MTEntryMyPicture3Asset><img src="<$MTAssetURL$>" /></MTEntryMyPicture3Asset></MTIfNonEmpty></li>
</mt:If>

<MTSetVar name="entry_num" op="-" value="1"></mt:Entries></ul>

「リビング」という値のある数を取得すればいいのだとは思うのですが、どこから手を付けて良いのかわかりません。
どなたか、良い方法がありましたら、ご教授いただけますとありがたいです。
よろしくお願いいたします。

返信(2)

| 返信する
  • >himekumaさん
    こんにちは。

    以下のテンプレートで、変数asset_numに、「リビング」のチェックがオンになっている画像の数が得られると思います。

    <$mt:SetVar name="asset_num" value="0"$>
    <$mt:EntriesCount setvar="entry_num"$>
    <mt:Entries lastn="$entry_num">
      <mt:For var="x" from="1" to="10">
        <mt:SetVarBlock name="tagname">EntryPictureRoomType<$mt:GetVar name="x"$></mt:SetVarBlock>
        <mt:If tag="$tagname" like="リビング">
          <$mt:SetVar name="asset_num" op="++"$>
        </mt:If>
      </mt:For>
    </mt:Entries>
    
    • 藤本様、ありがとうございます。

      作成していただいたテンプレートで、画像の数の取得が正しく出来ました。
      降順のナンバリングだけうまく行かなかったので、
      そちらはスクリプトで対応するようにします。

      この度は大変助かりました。
      今後共、よろしくお願いいたします。

返信する


カテゴリグループ

フォーラムカテゴリー

21 76

最新のトピック: 公開終了日の取り消し (2013年10月18日 gsk)

197 611

最新のトピック: メールフォーム (2014年8月 4日 渡辺)

149 446

最新のトピック: 公開終了日の日時指定について (2014年6月13日 y_kimkim)

310 873

最新のトピック: ブログ記事の画像挿入 (2014年7月25日 avd)

OpenID対応しています OpenIDについて