カテゴリ名に日本語を使う方法(2)
カテゴリ説明欄 <MTCategoryDescription> を使う方法だと、実は不便なことがたくさんあります。
◇カテゴリ説明欄が本来の「説明欄」として使えない
例えば商用ECサイトで、商品のカテゴリを作る場合は、そのカテゴリの説明を入れたいでしょう。
◇カテゴリ数が膨大にあると、いちいち説明欄を入れるのが面倒
◇エントリ書き出しでバックアップを取っても、カテゴリ説明欄は出力されない
カテゴリ名は出力されますが、カテゴリ説明欄は出力されないので、バックアップできません。
こうした不都合から、僕は自分のサイト「コミックホームズ」では、カテゴリ名にディレクトリ名を埋め込む方法を使っています。
カテゴリ名を以下のように設定します。
カテゴリ1<cat1>
(※<、> は実際には半角文字)
カテゴリアーカイブの出力設定では、例えば
<MTCategoryLabel dirify="1">/index.html
とします。
これで全角文字と「<」「>」が削除されて、「cat1/index.html」になります。
(※追記)
MT3.17まではこれでよかったのですが、MT3.2ではディレクトリ名の処理が変わったようです。
デフォルトの「category/sub_category/index.html」のままで、自動的にdirify="1"がかかってうまく行きます。
テンプレートでカテゴリを表示したい部分では以下のようにします。
<MTCategoryLabel decode_html="1" remove_html="1">
こうすると、まず「decode_html="1"」でHTMLタグへの変換が行われて、
カテゴリ1<cat1>
となり、次に「remove_html="1"」でHTMLタグが削除されて、
カテゴリ1
とめでたく日本語だけ残ります。
なかなか便利な方法ですので、試してみてください。