MT3.1でサブカテゴリ表示


サブカテゴリ、作っては見たものの適応と表示はしていませんでした。
なかなか思ったように表示できず……あちこち参考にしつつ調整中。まだ整理できていないです。これからちょっとずつやります。
参考にさせていただいたのは、亜細亜ノ蛾 - Weblogさんの「MT でサブカテゴリ以下も全て表示させるには?」や、Hitori-gotoさんの「サブカテゴリ。」等々。

しかし、表示はできたのですが「新着・追記エントリーにマークを付ける」と併用できません。
MTEntryDateがMTSubCategoriesの中に含まれていると、どうもエラーになってしまうみたい。
んー……それほどサブカテゴリに固執するほどでもないので……ひょっとしたらまた元に戻すかも知れません。

【1/4追記】
なにをもがいていたのかよく分からないほど、あっさり解決しました。笑。
下に書いておいたソースも書き直しておきます。

ちなみにうちのソースは以下のとおり。
php~という部分はnew、upマークの表記です。以前のエントリを参照して下さい。

<MTSubCategories>

<MTSubCatIsFirst><ul type="none"></MTSubCatIsFirst>

<MTIfNonZero tag="MTCategoryCount">

<li type="none"><strong><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryDescription></a></strong> [<$MTCategoryCount$>] <br />

<MTEntries lastn="2" >

└ <a href="<$MTEntryPermalink$>"><$MTEntryTitle trimj2_to="20"$></a>

<?php

$hours = 12; // example $hours = 3 (3 hours), $hours = 48 (2 days)

$nowtime = strtotime("now");

$entry = strtotime("<$MTEntryDate format="%y%m%d %H:%M:%
S"$>");
$last = strtotime("<$MTLastModified format="%y%m%d %H:%M:%
S"$>");
$diff = date("U", ($nowtime - $entry)) / 3600;

$diff2 = date("U", ($nowtime - $last)) / 3600;

if ($hours > $diff) {
echo "<img src='<$MTBlogURL$>images/new.gif' alt='New!' />";
}
else {
if ($hours > $diff2) {
echo "<img src='<$MTBlogURL$>images/up.gif' alt='Up!' />";
}
}
?><br />
</MTEntries>
<MTElse>
<MTHasSubCategories>
<li><MTCategoryDescription>
</MTHasSubCategories>
<MTHasNoSubCategories>
<li style="display:none;"><MTCategoryDescription>
</MTHasNoSubCategories>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3"></li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>

それから、Category Archive テンプレートの

<MTEntries> ... </MTEntries>

の部分を以下のように書き換えます。

<MTEntriesWithSubCategories> ... </MTEntriesWithSubCategories>

これをやっておかないと、親カテゴリをクリックしたときに、子カテゴリをカウントしてくれません。
それじゃただカテゴリ増やしただけなのと変わらないじゃんー。
結構融通の利かないタグだ……もうちょっと使いやすいといいんだけど。

トラックバックURL

このエントリーのトラックバックURL:

トラックバック

サブカテゴリーを表示する from *acoustic
カテゴリーリストにサブカテゴリーも表示するようにしました。 参考にさせていただい... [続きを読む]

Tracked on 2005年03月25日 04:16
コメントしてください




保存しますか?