読者です 読者をやめる 読者になる 読者になる

おれのブログ #それはドリ〜ム

勢いだけで書いてますんで、脳内で校正しながらお読みください…

変数の指定もMTEntries内で

カスタムフィールドのラジオボタンの中身をリストのクラス名にしようと思って、こんなソースを書いてみた。

<mt:If tag="radio"><MTSetVarBlock name="class"><mt:radio></MTSetVarBlock></mt:If>
<MTIf name="class" eq="A">
<MTSetVar name="class_name" value="class_a">
<mt:ElseIf eq="B">
<MTSetVar name="class_name" value="class_b">
<mt:ElseIf eq="C">
<MTSetVar name="class_name" value="class_c">
<mt:Else>
<MTSetVar name="class_name" value="class_d">
</MTIf>
<MTEntries>
<MTEntriesHeader>
<ul>
</MTEntriesHeader>
<li class="<$MTGetVar name="class_name"$>"><mt:If tag="link_url"><a href="<mt:link_url>"></mt:If><$MTEntryTitle$></a><$MTEntryBody$></li>
<MTEntriesFooter>
</ul>
</MTEntriesFooter>
</MTEntries>

なんどやっても、クラス名は「class_d」になってしまうしばし悩んだあと、この変数の処理もエントリの数だけ繰り返すので、<MTEntries>内に入れるんじゃないの?と試したら、うまくいきました。。。

正解はこれ↓

<MTEntries>
<MTEntriesHeader>
<ul>
</MTEntriesHeader>
<mt:If tag="radio"><MTSetVarBlock name="class"><mt:radio></MTSetVarBlock></mt:If>
<MTIf name="class" eq="A">
<MTSetVar name="class_name" value="class_a">
<mt:ElseIf eq="B">
<MTSetVar name="class_name" value="class_b">
<mt:ElseIf eq="C">
<MTSetVar name="class_name" value="class_c">
<mt:Else>
<MTSetVar name="class_name" value="class_d">
</MTIf>
<li class="<$MTGetVar name="class_name"$>"><mt:If tag="link_url"><a href="<mt:link_url>"></mt:If><$MTEntryTitle$></a><$MTEntryBody$></li>
<MTEntriesFooter>
</ul>
</MTEntriesFooter>
</MTEntries>

とほほほ。

広告を非表示にする