• 締切済み

Movable typeでの条件分岐がわからない

Movable typeを使用しています。 条件分岐をしようとしたのですが うまくいきません。 初心者のため、皆様からのご教示をお願いいたします。 やりたいこと 現在表示されているURLの場合、特定の箇所の<a>タグをはずしたい。 <MTSetVarTemplate name="url"> <$MTPagePermalink$> </MTSetVarTemplate> でパーマリンクを変数にし、 <MTIf name="url" eq="<$MTPagePermalink$>"> ここの<eq=>が問題とはわかるのですが、 うまくいきません。 どうすればよいでしょうか?

みんなの回答

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.1

テンプレートタグの中にテンプレートタグは入れられないと思います。 (<MTIf name="url" eq="<$MTPagePermalink$>">はできない) http://junnama.alfasado.net/online/2007/10/mtsetvarblockmtif.html こちらなど参考になるのでは。 「改良版テンプレート」で表示中のエントリータイトルを表示しないようにしています。(こちらはURLではなくIDを使われていますが) どこのテンプレートでどういったソースの中でされようとしているのかわからないので要約ですが 1 現在表示中のURL(またはID)をMTSetVarBlockを使って取得(ウェブページテンプレートの一番上にでも) 2 ウェブページ一覧内(ループ。ウェブページだったらMTPagesタグ内)で同じURL(またはID)を持つものをMTSetVarBlockで取得 3 MTIfで1と2をnameとeq使って比較&処理内容指示 ということになるのではないかと思うのですが…

関連するQ&A

  • CGI内での条件分岐について教えてください。

    CGI内での条件分岐について教えてください。 買い物カートCGIの中で下記のラジオボタンの選択において入力フォームを表示・非表示に切り替える質問をしたばかりですが、 <input type="radio" value="1" onclick="func1()" name="gift" checked />1ヶ所 <input type="radio" value="2" onclick="func2()" name="gift" />3ヶ所 <input type="radio" value="3" onclick="func3()" name="gift" />5ヶ所 今度は入力後の確認画面にて上記で選択された内容によって。。。 value1の場合は1ヶ所分の発送先住所、value2の場合は3ヶ所分の発送先住所・・・ と言った感じで表示をさせたいのですが、条件分岐に関してどのようにしたら良いのか分からず質問をさせて頂きます。 require "cgi-lib.pl"; ReadParse(*input_data); if ($input_data{'gift'} eq "1") {  ※value1で入力した1件分の発送先住所 } elsif ($input_data{'gift'} eq "2") {  ※value2で入力した3件分の発送先住所 } else {  ※value3で入力した5件分の発送先住所 } とか、試してみましたがだめでした(泣 CGI(Perl)に関しては初心者的で少々初心者レベルで触る程度の技術レベルです(汗 どうしたら良いのか教えてください。 思い当たる点は、そもそも条件式の中にある"gift"はどこかで指示を出さないとCGIの中で認識されていないのでは?とも思っています。 実際に上記の例でカートの確認ページを表示すると、 if ( eq "1") { } else ( eq "2") { } else { } と表示されるので素人ながらそう思いました。 質問がへたですが宜しくお願いします。

  • Movable Type4でのトラックバックの件

    Movable Type4の記事の部分で、時間、ユーザー名、パーマリンク、コメントとありますが、トラックバックがありません。 どのようにすればトラックバックへのリンク、表示が追加できるのでしょうか? おしえてください。お願いします。

  • Movable Type4での、カテゴリーがリンク出来ません。

    Movable Type4にて、ブログを書いたのですが、 サイドのカテゴリーが、リンク出来ません。 アーカイブインデックスの記述は▽ <MTIfArchiveTypeEnabled archive_type="Category"><div class="archive-category archive"> <h2 class="archive-header">カテゴリ</h2> <div class="archive-content"> <MTTopLevelCategories> <MTSubCatIsFirst> <ul class="archive-list"> </MTSubCatIsFirst> <MTIfNonZero tag="MTCategoryCount"> <li class="archive-list-item"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a> <MTElse> <li class="archive-list-item"><$MTCategoryLabel$> </MTIfNonZero> <MTSubCatsRecurse> </li> <MTSubCatIsLast> </ul> </MTSubCatIsLast> </MTTopLevelCategories> </div></div></MTIfArchiveTypeEnabled> 手持ちの本と照らし合わせても 特に問題ないようなのですが、カテゴリーには 名前だけでリンクが出来ません。 <a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a> この部分がリンクを示すタグだと思うのですが、 ここの記述を書き換える必要があるのでしょうか? よろしくお願い致します。

  • <input type="file">で条件分岐

    <input type="file">で、送信ボタンをクリックする前に、下記のようなことをしたいです。 どうやるのでしょうか? ■A ・ファイルを選択したかどうか、の条件分岐 ■B ・選択したファイル名を、JavaScript変数へ格納

  • Movable Type4.2 のMT:Ifについて教えてください。

    PHPを組んだことはありますが、MTは一切使ったことのない初心者です。よろしくお願いいたします。 カテゴリ別ブログ記事のサイド部分にカテゴリの一覧表(ツリー構造)をつくりたいのですが、現在表示している子カテゴリだけ、文字色を変えたいと思っています。 MT4.2ではMT:Ifが利用できるとのことで、以下のようにしてみました。(<li> or <li class="on">タグで文字色を変えようとしています) <MT:SetVarblock name="CatLabel"><$MT:CategoryID$></MT:SetVarblock> <MTSubCategories category="hogehoge"> <MTSubCatIsFirst>・・・略・・・</MTSubCatIsFirst> <MT:SetVarblock name="MyCatLabel"><$MT:CategoryID$></MT:SetVarblock> <MT:If name="CatLabel" eq="<MT:GetVar name="MyCatLabel">"> <li class="on"><MT:CategoryLabel></li> <MT:Else> <li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a>[<MT:GetVar name="MyCatLabel">]</li> </MT:If> <MTSubCatIsLast> ・・・略 </MTSubCatIsLast> </MTSubCategories> 一覧は正しく取得され、表示するのですが、該当しているはずのカテゴリが<li class="on">になっていません。 <MT:If name="CatLabel" eq="10"> のように該当カテゴリのIDを固定にすると、ちゃんと分岐されているようですので、この部分が悪いようです。 ただし、MyCatLabelは[<MT:GetVar name="MyCatLabel">]部分でちゃんと表示を確認できましたし、"CatLabel"も、</MTSubCategories>後にMT:GetVarを用いて画面表示するとちゃんと値がはいっています。 なぜIF分岐にひっかからず通ってしまうのか、どうすれば通るようになるのかどなたか教唆ください。

  • Movable Type のユーザー閲覧時の負荷

    ブログ構築でMovable Typeを検討しています。 Movable Typeは単にユーザーがコンテンツを閲覧したとき、どれくらいの負荷があるんでしょうか? http://hogehoge.com/XXX/post_X.html みたいなURLをみる限り、MTで出力された、HTMLをそのままみている風なのですが。 カスタマイズで動的にタグとか表示しない限り、単にHTMLを表示するのと同じなんでしょうか? また、MTのどういうタグを使う塗布かがあがったりするんでしょうか?

  • MovableType4.1を使っています。コメントを表示する時に、特定のコメントユーザーの名前を置き換えることはできますでしょうか?

    <$MTSetVar name="hoge" value="<$MTCommentAuthor$>"$> <MTIf name="hoge" eq="山田太郎"> 鈴木一郎 <MTElse> <$MTCommentAuthor default_name="山本"$> </MTElse> </MTIf> 上記のようなコードを組んでいます。 コメント投稿者の名前が「山田太郎」であれば「鈴木一郎」を表示し、 それ以外であれば、投稿したユーザーの入力した名前が表示されるようにしたいのです。 <$MTSetVar name="hoge" value="<$MTCommentAuthor$>"$> の部分の記述が悪いらしく、valueを認識してくれないのですが、 方法はありますでしょうか? value="山田太郎" とした場合にはちゃんと認識してくれるのですが、 変数の中に変数というのはダメなのでしょうか?

  • Movable Typeの変数タグの使い方

     お世話になっております。Movable Type4.1から本格的に導入された変数タグの使い方についてわからないことがあり調べてもなかなか出てこないので分かる方がいらしたらおしえてください。 以下のようなテンプレートタグを作っているのですが、このテンプレートでは、サブカテゴリーに属する記事を順に表示してゆくというものです。 カテゴリーごとの階層表示などはできますが、再下層のカテゴリーからそのエントリー記事を表示するとなるとちょっと複雑になるようです。 最初に<MTSubCategories>からサブカテゴリーの名前を取得して配列に格納しています。 次にサブカテゴリーの名前をループで表示させながらそのサブカテゴリーに属する記事を同時に表示しているのですが、どうやら、<MTEntries category="<$MTVar name="__value__"$>"…というくだりがうまくいってないようです。ここでは表示するエントリーをカテゴリーで指定しているのですが、<$MTVar name="__value__"$>という配列の値が展開されていないようです。モディファイアの中ので変数展開のやり方が調べてもなかなか出てきませんでした。 <MTSubCategories> <MTSetVarBlock name="push(subcategories)"><$MTCategoryLabel$></MTSetVarBlock> </MTSubCategories> <MTLoop name="subcategories"> <h2><$MTVar name="__value__"$></h2> <MTEntries category="<$MTVar name="__value__"$>" sort_order="ascend"> //←ここがうまくいっていないです。 <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>::<$MTEntryExcerpt convert_breaks="1"$> <a href="<$MTEntryPermalink$>">>></a><br /> </MTEntries> </MTLoop>  変数展開の部分がうまくいけばなんとかなると思うのですが、わかる方がいらしたらおしえてください。  よろしくお願いします。

  • Movable Type の再構築オプション

    Movable Type 3.3を使用し、カスタマイズをしています。 管理画面で、設定→公開のページに行くと、「公開」の所に「再構築オプション」というのが表示されているはずなのですが、表示されていません(パーマリンクの設定とアーカイブの拡張子のみです)。 どうしたら表示・設定できるようになるでしょうか? ほかのレンタルサーバーにもブログがあるのですが、そちらには表示されています。レンタルサーバーの問題でしょうか?カスタマイズ中にどこか設定を変更してしまったのでしょうか? ご指導ください。よろしくお願いいたします。

  • PHPで、特定箇所が同じURLやパスを条件分岐

    お世話になります。 現在ECサイトを構築中で、URLが特定条件のもとif分などで分岐して、 相応するテキストや画像などを表示させたいと考えています。 URLだけの条件分岐なら方法は分かるのですが、あまりにもページ数が多すぎるため ある程度URLに類似性がある場合に同じ処理をしたいです。 条件としては下記のようなパターンがあります。 -------------------------------------------------------------------------------------- パターン1 -------------------------------------------------------------------------------------- http://example.com/△△△△△△/?t_area%5B%5D=▲&t_recruit_type%5B%5D=b http://example.com/○○○○○○○○○○○/?t_area%5B%5D=●&t_recruit_type%5B%5D=a 最後尾が「a」の場合は「a」の商品を表示 最後尾が「b」の場合は「b」の商品を表示 (※階層や途中の▲や●などでは条件分岐しない。最後尾だけで分岐) -------------------------------------------------------------------------------------- パターン2 -------------------------------------------------------------------------------------- http://example.com/△△△△△△/?t_area%5B%5D=☆&t_recruit_type%5B%5D=▲ http://example.com/○○○○○○○○○○○/?t_area%5B%5D=★&t_recruit_type%5B%5D=● URLの特定箇所が☆の場合は「c」の商品を表示 URLの特定箇所が★の場合は「d」の商品を表示 (※階層や最後尾では条件分岐しない。途中の☆か★で条件分岐) -------------------------------------------------------------------------------------- といった具合です。 大変申し訳ありませんが、どうかご協力いただけないでしょうか?

    • ベストアンサー
    • PHP