てがろぐ - Fumy Otegaru Memo Logger -

お手軽一言掲示板(この辺の文章は「管理画面」の「設定」内にある「フリースペース」タブから編集できます。)

動作サンプルです。 ご自由にお試し下さい。パスワードguest管理画面もお試し頂けます。
■いま見ているスキンは「標準スキン」です。他に、 昔のツイッターっぽいスキン(ブルー)昔のツイッターっぽいスキン(ピンク)付箋型スキンシンプル日記スキンジャーナル(日誌)スキンブログタイプスキン(タイトル付きブログっぽくできるスキン)、 黒板スキンチャットタイプスキンがあります。
てがろぐCGIの配布・解説ページに戻る

or 管理画面へ

No.2037

カテゴリをアイコンで表示したい場合 #🌱豆知識

所属カテゴリの名称を表示する代わりに、カテゴリを表すアイコンを表示したい場合は、例えば以下のような方法があります。

▼方法1:(今のところ一番お勧めな方法)
以前に No.1881 で紹介しましたので、そちらをご参照下さい。

🍘🍘🍘🍫🍫🍫🍪🍪🍪
▼方法2:簡単な(分かりやすい)方法(ただし、1投稿に1カテゴリしか設定しない前提)
内側スキンに、以下のようなimg要素を書きます。
<img src="/imagepath/[[CATEGORYIDS:IFEMPTY:nocat]].png" alt="[[CATEGORYNAMES]]">
すると、実際には以下のような出力になります。

●カテゴリ info (情報)に属する場合: <img src="/imagepath/info.png" alt="情報">
●カテゴリ diary (日記)に属する場合: <img src="/imagepath/diary.png" alt="日記">
●どのカテゴリにも属さない場合: <img src="/imagepath/nocat.png" alt="(※)">

なので、 info.png とか diary.png とか nocat.png とかのファイル名で適当な場所(上記の場合は/imagepath/)に画像ファイルを用意しておけば、それが表示されます。
ただ、この場合は、1つの投稿に複数のカテゴリが設定されている場合にはうまくいきません。(例えば、infoカテゴリと diaryカテゴリの両方に属している場合用に「info diary.png」を用意するなど、あらゆるパターンを用意していれば話は別ですが。^^; ※[[CATEGORYIDS:IFEMPTY:xxx]]を使う場合、カテゴリIDの区切りは常に半角スペースになります。なので、半角スペースを含むファイル名の画像が必要になります。詳しくは、解説ページの「カテゴリ関連要素」項目をご参照下さい。

(※)の部分にどう表示されるかは、管理画面の[設定]→[ページの表示]→【カテゴリの表示】→「カテゴリ名として表示する内容」項目の設定次第です。デフォルト設定では、何も表示されません。

🍘🍘🍘🍫🍫🍫🍪🍪🍪
▼方法3:(何らかの事情で方法1が使えない場合。複数カテゴリでも(一応は)動作に問題はない)
内側スキンに、以下のようなspan要素を書いておきます。
<span class="caticon"><span class="[[CATEGORYIDS:IFEMPTY:empty]]">[[CATEGORYNAMES]]</span></span>
すると、実際には以下のような出力になります。

●カテゴリ info (情報)に属する場合: <span class="caticon"><span class="info">情報</span></span>
●カテゴリ diary (日記)に属する場合: <span class="caticon"><span class="diary">日記</span></span>
●カテゴリ info と diary に属する場合: <span class="caticon"><span class="info diary">情報,日記</span></span>
●どのカテゴリにも属さない場合: <span class="caticon"><span class="empty">(※)</span></span>

上記の場合は、1つの投稿に複数のカテゴリが設定されていてもおかしくはなりません。
その上で、例えば以下のようにCSSを書いておきます。
/* アイコンサイズ等の共通装飾 */
.caticon span {
   display: inline-block; /* インラインブロック化 */
   width: 32px;  /* アイコンの横幅 */
   height: 32px; /* アイコンの高さ */
   background-size: contain; /* 背景画像を描画面積に合わせる */
   text-indent: -9999px; /* テキストを非表示にする */
}
.caticon .info { background-image: url("info.png"); }  /* info用画像 */
.caticon .diary { background-image: url("diary.png"); } /* diary用画像 */
.caticon .empty { background-image: url("empty.png"); } /* なし用画像 */

要するに、背景画像としてアイコン画像を指定しています。

この場合、1投稿に複数のカテゴリが設定されている場合は、どれか1つ(たぶん後に記述されているアイコン)だけが表示されるので、所属カテゴリ全部のアイコンを並べられるわけではありません。しかし、少なくともおかしな出力にはならないので、表示は可能でしょう。
なので、アイコン表示とは別に [[CATEGORYLINKS]] も記述しておいて、カテゴリの名称がテキストで列挙される空間も併せて用意しておく方が良いでしょうね。

🍘🍘🍘🍫🍫🍫🍪🍪🍪
以上、カテゴリをアイコンで表示する方法3つでした。
もしかしたら、もっと良い方法が他にあるかもしれませんけども。

とはいえ、何か公式に「カテゴリをアイコンで表示する」仕組みを用意した方が良いかもしれませんね。一応、方法1で問題ないのではないかとは思うのですが、CSSを自力で書く必要があるのがちょっと大変かもしれませんし……。
[[CATEGORYICONLINKS]]みたいな感じで、アイコン出力前提のHTMLを挿入できると良いですかね。
出力は、<img src="info.png" alt="情報"><img src="diary.png" alt="日記">……みたいな感じで、カテゴリの数だけ列挙されるような。

何かご要望あればお気軽にお知らせ下さい。(╹◡╹)ノ
畳む

by nishishi. 情報 <2618文字> 編集

DASHBOARD

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■新着画像リスト:

全297個 (総容量 35.03MB)

■日付検索:

■カレンダー:

2021年3月
123456
78910111213
14151617181920
21222324252627
28293031

■最近の投稿:

■フリースペース:

ここは、CGIの設定画面から自由に文章を入力して掲載できるスペースです。スキンを編集しなくてもCGI上から手軽に内容を変更できます(HTML使用可)。
動作サンプルです。◆他のスキン:標準スキン, 昔のツイッターっぽいスキン(ピンク版), 付箋型スキン, シンプル日記スキン, ジャーナル(日誌)スキン, ブログタイプスキン, チャットタイプスキン, 黒板スキンてがろぐCGIの配布ページに戻る

編集

▼現在の表示条件での投稿総数:

1件

▼最後に投稿または編集した日時:

2024年3月29日(金) 20:12:08〔1時間前〕

RSSフィード

動作サンプルです。 ご自由にお試し下さい。パスワードguest管理画面もお試し頂けます。
■いま見ているスキンは「標準スキン」です。他に、 昔のツイッターっぽいスキン(ブルー)昔のツイッターっぽいスキン(ピンク)付箋型スキンシンプル日記スキンジャーナル(日誌)スキンブログタイプスキン(タイトル付きブログっぽくできるスキン)、 黒板スキンチャットタイプスキンがあります。
てがろぐCGIの配布・解説ページに戻る