[static] mtElseIfで添字やキーを引き継がない

Description

■内容
表題の通り

■手順
1.デザイン→テンプレートを選択
2.「インデックス」テンプレートを「新規作成」
3.テンプレート名を「test」、テンプレートの内容を下記「テンプレート」内容、ファイル名を「test.html」にして「プレビュー」

■期待する結果
hoge! hoge! hoge!

■実際の結果
moga! moga! hoge!

■補足
リファレンスに記載は無いものの、期待値としては添字/キーも含めて引き継いで欲しい気がします。
ElseIfのほうにも都度key/indexを指定すると回避できる事は確認しています。

■テンプレート
<mt:Var name="hsh" key="ky" value="hoge">
<mt:If name="hsh{ky}" eq="fuga">
fuga!
<mt:ElseIf eq="hoge">
hoge!
<mt:Else>
moga!
</mt:If>
<mt:Var name="arr" index="1" value="hoge">
<mt:If name="arr[1]" eq="fuga">
fuga!
<mt:ElseIf eq="hoge">
hoge!
<mt:Else>
moga!
</mt:If>
<mt:Var name="normal" value="hoge">
<mt:If name="normal" eq="fuga">
fuga!
<mt:ElseIf eq="hoge">
hoge!
<mt:Else>
moga!
</mt:If>

Environment

■Movable Type のバージョン
r.4207

■サーバーの OS とそのバージョン
ホスティングサービス利用のため不明

■データベース・ソフトウェアの種類とそのバージョン
MySQL、ホスティングサービス利用のためバージョン不明

■お使いの文字コード
UTF-8

■お使いのプラグイン名
デフォルトのもののみ

■お使いのブラウザとそのバージョン
macos firefox最新

Location: https://www.sixapart.jp/movabletype/feedback.html
Referrer: https://under-css3.ssl-lolipop.jp/MT-7.0_/mt.cgi?__mode=view&_type=template&blog_id=7&type=index
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:62.0) Gecko/20100101 Firefox/62.0
Screen Resolution: 1440 x 900

Checklists

None

Activity

Show:
Pro tip: press M to comment

Kenichi IshigakiFebruary 27, 2025 at 2:21 AM

なお、今後この実装をブラッシュアップして復活させるかどうかは未定。「ずっと入れなくてもいいんじゃないか」「確かに入っていると便利なのはそうだけど、いい仕様かどうかは微妙」「互換性を全く無視してよい、きれいな MT タグの再実装が必要」「どうしてもということであれば MTSwitch / MTCase のようなブロックタグを用意するとか」「互換性とリリースノートの記載と(あとサポートチームがどう見るか)の辺り」といった議論あり。

·

Kenichi IshigakiFebruary 27, 2025 at 2:16 AM

8.5.0 でいったんはリリースしたものの、 の指摘を受けて で revert することになったので再度開けておきます。

·

Tomoaki ItoNovember 1, 2024 at 3:03 AM

ありがとうございました。マージしました。

·

Reiko SatoNovember 1, 2024 at 2:48 AM


ありがとうございます!

上記例の出力結果も問題なし+手順に書かれている期待通りの結果になっていることを確認。

·

Tomoaki ItoNovember 1, 2024 at 2:44 AM

すぐ上のテンプレートの結果が

hsh{ky} is hoge_hsh! arr[1] is foo_arr!

なのですが、出力結果はこれで問題ないでしょうか?

これは問題ないです。(すぐ上のテンプレートは、余計な例でした。)

mt:Else / mt:ElseIfの並びの途中でnametagを記述すると、引き継がれる値が変わることを伝えたかったので、例を追加しました。

·
Fixed

Details

Assignee

Reporter

Fix versions

Smart Checklist

Created September 24, 2018 at 9:58 AM
Updated February 27, 2025 at 2:21 AM
Resolved November 1, 2024 at 2:54 AM