カテゴリの表示について (カスタマイズ)
もし可能でしたら教えていただきたいのですが
{category_name}や{category_disp_name}を利用したとき、親カテゴリが存在した場合
親カテゴリ > サブカテゴリ
と言うような表示になると思うのですけど親カテゴリを表示させずサブカテゴリのみを表示させることはできないでしょうか?
管理上の都合でカテゴリは階層化しておきたいのですが親カテゴリを表示させないようにしたいのです。
{category_pagename}はcategory_areaブロックでないと使えませんし、何かよい方法があれば教えて下さい。
カテゴリの表示について
もし可能でしたら教えていただきたいのですが
{category_name}や{category_disp_name}を利用したとき、親カテゴリが存在した場合親カテゴリ > サブカテゴリ
と言うような表示になると思うのですけど親カテゴリを表示させずサブカテゴリのみを表示させることはできないでしょうか?
親カテゴリ > サブカテゴリ という表示を変更するには本体を改造するしかないようです。
根本的な解決方法ではないのですが、カテゴリの表示部分を
<a href="{site_cgi}?cid={category_id}"><img src="{site_top}画像を保存するフォルダ名/任意の画像名 ( category_image とか) {category_id}.拡張子" alt="{category_disp_name}" width="幅" height="高さ" /></a>
このようにして画像を用意して表示するとかどうでしょう。
例えば、http://riszw.com/ の カテゴリ ID 4 のものだったら、
<a href="{site_cgi}?cid={category_id}"><img src="{site_top}img/category/cid{category_id}.gif" alt="{category_disp_name}" width="80" height="15" /></a>
で
<a href="http://riszw.com/sb.cgi?cid=4"><img src="http://riszw.com/img/category/cid4.gif" alt="無料ブログテンプレート" width="80" height="15" /></a>
となります。(この画像は実在しません)
カテゴリが多いと大変そうですが、ブラウザ上で文字入れした画像を作成できるサービスもあるようです。
http://www6.big.or.jp/~neon/
http://www6.big.or.jp/~neon/BTNFLD/btnfmset_kn.html
カテゴリの表示について
Milliさん、お返事ありがとうございます。
画像を利用した表示、確かによさそうだったのですが…サブカテゴリの数が100以上あるのでちょっと大変です。
ですので本体をいじることにさせていただきました。
lib/sb/Data/Category.pmのline32を
sub CATEGORY_FORMAT (){ '%Main% > %Sub%' }
↓
sub CATEGORY_FORMAT (){ %Sub%' }
にすることで解決させていただきました。
最初独自タグを新たに追加しようとも考えたのですが、なかなか思うようにいかなかったので…。
ただこれだと通常通り表示したい場合でもサブカテゴリしか表示されなくなってしまう欠点がありますけど。
お手数おかけしてすみませんでした。
カテゴリの表示について
自己レスになりますが、サブカテゴリのみ表示する独自タグを追加してみました。
lib/sb/Content.pmのline1125以下に
sub _category
{ # カテゴリー
my $cms = shift;
my $entry = shift;
my %var = @_;
if ( $entry->cat ne '' and defined($var{'cat'}->{$entry->cat}) )
{ # カテゴリー
$cms->tag('category_name'=>$var{'cat'}->{$entry->cat}->fullname_with_link($var{'cat'}));
$cms->tag('category_id'=>$entry->cat);
$cms->tag('category_disp_name'=>$var{'cat'}->{$entry->cat}->fullname($var{'cat'}));
$cms->tag('subcategory_name'=>$var{'cat'}->{$entry->cat}->fullname_with_link());
$cms->tag('subcategory_disp_name'=>$var{'cat'}->{$entry->cat}->fullname());
}
else
{
$cms->tag('category_name'=>'-');
$cms->tag('category_id'=>'');
$cms->tag('category_disp_name'=>'-');
$cms->tag('subcategory_name'=>'-');
$cms->tag('subcategory_disp_name'=>'-');
}
と言うような感じで記述を追加してみました。(上記斜体部分)
これでテンプレに{subcategory_name}、{subcategory_disp_name}を記述すればサブカテゴリのみが表示されると思いますが、
これらを追加したことで何か弊害が起きないか少々不安です。
もし詳しい方がいらっしゃいましたらご教授いただけないでしょうか?
よろしくお願い致します。
カテゴリの表示について
自己レスになりますが、サブカテゴリのみ表示する独自タグを追加してみました。
(中略)
これらを追加したことで何か弊害が起きないか少々不安です。
「カテゴリーの階層が 2 段(親/子のみ)の場合にしか正しく動作しない」ということ以外は、特に問題はないと思います。
個人的なカスタマイズとしては十分ではないでしょうか。
カテゴリの表示について
ふうこさん、お返事ありがとうございます。
階層は(親 > 子)のみで管理する予定なので問題ないようでしたらとりあえずこのまま使ってみようと思います。
ありがとうございました。