/// 解析系スクリプト ここから -->

ぷらぐいん ごー!ごー!

プラグインを作ってみない? (≧∇≦)b

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

直感カテゴリーツリー

直感カテゴリーツリーなるものを作ってみました・・・
最初はカテゴリーツリーV2と思っていたのだけど、V1とかなり内容が異なり紛らわしいので、名前も変えてみました。

作った動機は、今までカテゴリーツリーV1を使っていたのだけど、
・カテゴリー追加する度に、プラグインの設定を変更するのは面倒くさい
・カテゴリーの順番をグループごと入れ替えるのも、面倒くさい
・階層を複数化したかったけど、定義式だとかなり面倒な定義になる上、上記の変更時にさらに面倒くさい

上記の回避策として、ダミーのカテゴリー定義に対応したカテゴリーツリーV1.2を作ってみたものの、どうせカテゴリーが汚れる(余分なカテゴリーが増える)なら、思い切って発想転換!!
って感じです。

(注)2/4追記
・制御用カテゴリーを追加するのが嫌な方
・そもそもカテゴリーは、ほぼ固定で追加なんてしない方
は、姉妹品の
・カテゴリーツリーV1シリーズ(本品と似た表示)
・伸縮式カテゴリーリスト(本品よりシンプルな表示)
をご利用ください。  2/4追記終わり

(注)2/14追記
表示が中央揃いになる方は、上の方にある
<div id="categoryTree"> を
<div id="categoryTree" &align>
に変更してください。(次回修正します) 2/14追記終わり


肝心の使い方は・・・(名前負けしてないかしら? (´;ω;`)
カスタマイズ方法

1.プラグインの変更
flexCategoryTreeCntl=""; // 制御用の識別文字
グループ名を指定するカテゴリーの識別用文字です。
カテゴリー名で使用していない文字を指定してください。
変更する場合は、前後の"を消さないでください。

2.カテゴリーグループ定義の追加
【定義例】

①カテゴリーグループ名称
カテゴリーグループ名★6,1  (上記の識別文字=★の場合)
任意

②エントリー数
★カテゴリーグループ名★6,1
グループに属するエントリー(子供)の数です。
自分(グループ定義自身)は含みません。
グループ内に更に子グループを作る場合は、そのグループ定義を含みます。

③初期展開有無
★カテゴリーグループ名★6,1
グループを、予め展開して表示するか、閉じて表示するかの設定
0:閉じて表示、1:展開して表示
子グループを展開指定した場合は、親グループを展開した時点で表示されます。

(注)★と数字、カンマ(,)の間にスペースを入れないでください。

④子グループ(孫カテゴリー)を作る場合
グループ内(②で指定したエントリ数)に、新たにグループ定義をすると、子グループになります。

文字で書くとわかり辛いのですが、例を見ると直感的にわかると思います。


キモ:
・エントリー数には自分自身は含めない。
・子グループを作る場合も、単純にグループに属するエントリー数だけを数える(エントリか、グループ定義かは気にしない)。
⇒単純に子供、孫、ひ孫・・・の総数です。(孫エントリーのグループ定義も立派な子供の1人w)
・子グループを作る場合は、定義位置は気にせずに、単純にグループを追加する。

(注)
誤ってカテゴリーグループ定義に記事を登録した場合(普通のカテゴリーとして)には、カテゴリーから記事へジャンプできなくなるので注意ください。

上記の定義例だと、下記のように表示されます。

わかりやすくするため、全てのグループを展開してあります。



3.弱点
本プラグインは、カテゴリー定義を直接追加するため、以下の弊害が発生する可能性があります。
①カテゴリーにゴミ(制御用グループ定義)が増えるため、カテゴリー選択が少し面倒になる。
②他にもカテゴリーを使用するプラグインを使用すると、そのプラグインがゴミを拾ってしまう。
③Javascriptをoffにしている場合、ゴミも表示されてしまう。
④同様に携帯電話で見た場合も、ゴミが表示される可能性がある。

実際には
①:★がついているので、間違えることはないと思います
②:カテゴリーを使用するプラグインって、あまりないよね?
  カテゴリークラウドがあるけど・・・w
③:その場合は、他のプラグインもほぼ全滅なので、表示は気にしない(ノД`)
④:私は携帯用テンプレートは標準(多分)を使っているのだけど、携帯から幾ら探してもカテゴリーを表示する画面に辿り着けませんでした・・・なので、きっと大丈夫(≧∇≦)b

以上の弱点を承知の上で、構わない方のみご利用ください <(_ _)>


【補遺】
以下は必須ではありませんが、対応した方が綺麗になります(いろんな意味で)

①スタイルシート宣言の<head>セクションへの移動
正しいhtml4.01では、スタイルシートの宣言が<body>セクションに存在することを認めていません。
(現在はプラグインの簡便性の為に、敢えてbodyにおいてあります)

②YUI関連スクリプトの二重設置チェック
YUIを使用しているプラグインを他にも使用していませんか?
その場合は、スクリプトの引用宣言を<head>セクションに纏めるとスマートになります。

(注)2/5追記
YUIスクリプトを二重設置している場合に、上手く動かなくなるケースがあるようです。
その場合には、本処理を行ってください。m( __ __ )m
YUI使ったプラグイン作ってる人は限られているでしょうが・・・
対象部位は、下記の部分です。
<link rel="stylesheet" type="text/css" href="http://blog-imgs-41.fc2.com/d/u/m/dummytop/treeview.css>
<script type="text/javascript" src="http://yui.yahooapis.com/2.3.1/build/yahoo/yahoo-min.js"> </script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.3.1/build/dom/dom-min.js"> </script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.3.1/build/event/event-min.js"> </script>
<script type="text/javascript" src="http://yui.yahooapis.com/2.3.1/build/treeview/treeview-min.js"> </script>
2/5追記終わり


③スタイルシートの自ブログへのアップロード
現在は、dummytop.blog114.fc2.comのスタイルシートを参照していますが、このままだとblog114.fc2.comサーバが障害になった場合に影響を受けることがあります。
自分のブログに移動しておくと安心です。
この場合は、 src="file/treeview.css" でOKです。
ダウンロード用ファイルはこちら
スタイルシート
アイコン画像

④スタイルシートを変更したい場合は、コメント付のこちらを使用してください。

不具合・要望等あれば、コメント貰えると嬉しいです。

以上

【2009/6/30追記】
③のアップロード用ディレクトリーは各自で異なる可能性があるので、よく調べて、用量・用法を守った上で正しくお使いください。

トラックバック

http://dummytop.blog114.fc2.com/tb.php/42-ff5dc0b4

 | HOME | 

メニュー

最近の記事

最近のコメント

ブログ内検索

リンク

プロフィール

dummytop

中の人:dummytop
趣味はソフトウェア開発

上記の画像はあくまでイメージ
であり、実在する本人とは一切
関係ありません (´;ω;`)

管理画面

RSSフィード

伸縮式リンクリストV1.1

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。