カテゴリー
Movabletype

MT4iでトップページにのみ色々と表示させる方法

最近はwordpressを触る時間がめっきり減り、MTばかり触ってるわけです。

というわけで、MT4iでトップページのインデックスページにのみ、文章とか表示させる方法の解説。
ちなみにMT4i3.0です。

1.テンプレートのパラメータを追加

mt4i.cgiの455行目付近

# fill in some parameters

の下に以下の様に

$template->param(INDEX => $cat == 0 ? 1 : 0 );

を追加

    # fill in some parameters
    $template->param(BLOG_LOGO => &index_title_logo);
    $template->param(BLOG_DESCRIPTION => &index_blog_description);
    $template->param(CATEGORY_SELECTOR => &index_category_selector);
    $template->param(ENTRIES => \@entry_index);
    $template->param(ENTRY_PAGE => encode("shiftjis",decode("euc-jp",$entry_page)));
    $template->param(LINK_RECENT_COMMENT => &index_link_recent_comment);
    $template->param(ADMIN_MENU => &index_admin_menu);
    $template->param(ADMIN_INFO => &index_admin_info);
    $template->param(TOP => $page == 0 ? 1 : 0 );
    $template->param(INDEX => $cat == 0 ? 1 : 0 );
    $template->param(HOME => $page == 0 && !$cat ? 1 : 0 );
    $template->param(CELLPHONE => ($ua eq "i-mode" || $ua eq "ezweb" || $ua eq "j-sky") ? 1 : 0 );

    # Common
    $template = _tmpl_common($template);

2.該当テンプレートに記述

以下みたいな感じで<TMPL_IF NAME=”INDEX”>で挟んだ部分が、インデックストップページにのみ表示されます。
<TMPL_ELSE>もあわせて使うと、色々とできます。

<TMPL_IF NAME="INDEX">
indexにのみ表示させる文章。
<TMPL_ELSE>
その他カテゴリトップに表示させる文章。
</TMPL_IF>

さらに、blog_idが1の時だけ表示させたい場合には、

$template->param(INDEX1 => $blog_id == 1 && $cat == 0 ? 1 : 0 );

と追加してあげればOKです。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)