Movable Type 3.2 と 3.31 におけるサブカテゴリーリストの表示の違いについて
3.31-ja でサブカテゴリーリストの動作を確認している途中、3.2-ja-2 と比較して下記の違いを発見しましたので、ご報告まで。
まず、次のような構造のカテゴリーがあると仮定します。
趣味
└ パソコン
├ mixi
└ ブログ
このカテゴリーを、公開テンプレートで利用しているサブカテゴリーリストのMTタグ
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> [<$MTCategoryCount$>]
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
を使用して、トップページおよびカテゴリー・アーカイブでの表示を 3.2 と 3.31 で比較してみます。
まず 3.2-ja-2 のサブカテゴリーリストとして表示した結果です。
トップページ:全カテゴリーが表示される |
「趣味」カテゴリー・アーカイブ:サブカテゴリーの「パソコン」カテゴリー以下を表示 |
「パソコン」カテゴリー・アーカイブ:サブカテゴリーの「mixi」「ブログ」カテゴリーを表示 |
「ブログ」または「mixi」カテゴリー・アーカイブ:表示なし |
次に全く同じタグを使用して、3.31-ja のサブカテゴリーリストとして表示した結果です。
トップページ:全カテゴリーが表示される |
「趣味」カテゴリー・アーカイブ:サブカテゴリーの「パソコン」カテゴリー以下を表示 |
「パソコン」カテゴリー・アーカイブ:サブカテゴリーの「mixi」「ブログ」カテゴリーを表示 |
「ブログ」または「mixi」カテゴリー・アーカイブ:全カテゴリーが表示される |
青色と赤色で示した文言からお分かりの通り、3.31-ja では最下層のサブカテゴリーで全カテゴリーが表示されます。
とりあえずシックス・アパートのフィードバックには報告させて頂きました。
3.31-ja で 3.2-ja-2 と同様の表示、つまり最下層のカテゴリー・アーカイブでサブカテゴリーリストを非表示にするためには、
lib/MT/Template/ContextHandlers.pm
に対して下記のパッチをあてると良いでしょう。
--- lib/MT/Template/ContextHandlers.pm.bak Thu Aug 17 01:54:30 2006
+++ lib/MT/Template/ContextHandlers.pm Thu Aug 17 01:55:33 2006
@@ -3937,7 +3937,7 @@
}
}
}
- if (!@cats) {
+ if (!@cats && ($ctx->{current_archive_type} ne 'Category')) {
# Otherwise, use the top level categories
@cats = MT::Category->top_level_categories($ctx->stash('blog_id'));
}
他に適切な対処があるようでしたらお許しください。
Posted by yujiro このページの先頭に戻る
- MovableTypeプラグインの独自CGIをNginxに対応させる方法
- Movable Type 5で「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」というエラーになる場合の対処
- 旧バージョンのMTでPerl5.26(Perl5.24以降)に対応する方法
- MT6.2のファイルアップロードで「Undefined subroutine &POSIX::strftime」になる問題の対処
- Movable Typeのファイルアップロードで「アップロードしたファイルは大きすぎます。」というエラーになる場合の対処
- Movable Typeのパスワード変更で「URLが不正です。」というエラーなる件についての対処
- Movable Typeで「Cannot find column 'blogs' for class 'MT::Blog'」となる場合の対処
- Movable TypeでMTPageNextタグが効かなくなる不具合について
- Movable Typeの復元で「Request-URI Too Large」になるときの対処
- サーバ故障と「Connection error: Too many connections」エラーおよびMySQLテーブル破損について
- Movable Typeでエラー発生箇所を特定する方法
- IE9でMovable Typeを利用する方法
- MTIfタグにtagモディファイアを利用する場合の注意事項
- Movable Type 5のブログの設定で「Can't call method &quot;label&quot; on unblessed reference」が発生する問題について
- Movable Type 5.03へのアップグレードで再構築時に「Script Error」が発生する件について(つづき)
トラックバックURL
コメント
サブカテゴリーのサブカテゴリーには全カテゴリーが表示される問題が発生し、このページに来ることができました。
しかし、lib/MT/Template/ContextHandlers.pmに上記のソースを加えてみるとエラーが表示されます。
私の方法が間違っているのでしょうか?
お忙しいとは思いますがご教授ください。
[1] Posted by 渡辺 : August 16, 2007 8:10 PM
コメントする
greeting