** treemenu.inc.php [#f51235aa]
|RIGHT:100|LEFT:360|c
|~サマリ|メニュー等でのアウトライン構造実現|
|~リビジョン|1.1|
|~対応バージョン|1.4.4|
|~投稿者|[[アクア]]|
|~投稿日|&new{2004-12-02 (木) 15:37:33};|
**概要 [#pdcd6ba2]
[[自作プラグイン/codehighlight.inc.php]]のアウトライン縮小展開表示機能を元にして
MenuBarページ等でも使えるような作りにしてみました。~
includesubmenuもいいのですがMenuBarがやたらと縦長になりがちなので…。
**インストール [#c3e89d6f]
ダウンロードしたファイルを展開して
+treemenu.inc.phpをpluginディレクトリ
+treemenu.jsをskinディレクトリ
にそれぞれ配置します。
**使い方 [#v95253d7]
&treemenu(子ノードページ名 [,open|closed]){親ノードインライン要素};
-オプション解説
--open … ページ表示時にデフォルトでツリー展開状態になります。
--closed … ページ表示時にデフォルトでツリー縮小状態になります。
**表示例 [#e6a6b5c0]
&treemenu(FrontPage/SubMenu){[[Topページ>FrontPage]]};
&ref(./fold041203.gif,nolink); &ref(./open041203.gif,nolink);
**仕様/カスタマイズ方法とか [#b7a1bf10]
ツリーの子ノードはネストも可能(なハズ)ですが対象ページ全体を取り込む作りなため
''敢えて''インデントのスタイル定義とかは添付していません。((子ノードページで-,--,---とかを使えばいいハズ))~
ただ、子ノードの部分はClass属性値にtreemenuを設定して出力していますので
default.ja.css等に以下のような設定を加えるのもありカモ。
div.treemenu {
margin-left: 1em;
}
オプションは省略可で省略時はtreemenu.inc.php内の以下のあたり(15行目)の設定が適用されます。
TRUEなら縮小状態、FALSEなら展開状態です。
// ツリー展開状態デフォルト値
define('OUTLINE_CLOSED', TRUE);
**本体ダウンロード [#o5100614]
ライセンス形態:GPL
-2004-12-03 ver. 1.1 &ref(./treemenu041203.tgz, treemenu041203);
--再帰呼び出しに対応(したつもり)
--デフォルトで展開/縮小状態を操作するオプション追加
-2004-12-02 ver. 1.0 &ref(./treemenu041202.tgz, treemenu041202);
--初期リリース
**オマケ [#ad69a9ac]
ツリー縮小展開リンクを画像にしたバージョンも置いておきます。~
インストール方法は基本的に同じですがサンプルのアイコン画像2個を同梱していますのでimageディレクトリに置いてください。
「オマケ」扱いなのでディレクトリ構造が違うとかは各自対応してください :p
-2004-12-03 ver. 1.1 &ref(./treemenu-icon041203.tgz, treemenu-icon041203);
&ref(./fold-image041203.gif,nolink); &ref(./open-image041203.gif,nolink);
**コメント [#j541019d]
-MenuBarにtreemenu(MenuBar){hoge}とするなど子ノードページが再帰的にページ参照してしまうような指定をするとマズイですね…&worried;できるだけ早めに対策を考えます。 -- [[アクア]] &new{2004-12-03 (金) 02:17:38};
--参考[[dev:BugTrack/528]] -- [[sky]] &new{2004-12-03 (金) 02:40:47};
--参考情報ありがとうございました。とりあえずプラグイン側で対応させてみたつもり…。また、[[sky]]さんのデフォルト縮小展開状態のオプション改造は採用させていただきましたが、ブロック型プラグインへの変更は上記サンプルのように親ノード自体にWikiのテキスト整形ルールを適用させたかったので((括弧とかがあるとどうしていいものやら…。クォートで囲んでもらうのもなんか違う気がして…))とりあえずは保留としてあります&worried; -- [[アクア]] &new{2004-12-03 (金) 22:16:22};
-ページ全体に拡張して[[Code.dev:TreeMenu/拡張]]に使ってみました。 -- [[sky]] &new{2004-12-08 (水) 20:27:11};
-メニューを選んで、ページが再描画されたときに、メニューのステータスが残っているといいですね。かなり難しそうですが・・・ -- [[taro]] &new{2005-02-02 (水) 02:12:47};
-[[Code.dev:TreeMenu]]でプラグインへの複数行引数を利用して引数に隠れた内容を記述できるように改造してみました。そのために[[自作プラグイン/region.inc.php]]に似た機能になってしまいました。 -- [[sky]] &new{2005-02-17 (木) 18:52:18};
-使い方が分からない -- [[しょ]] &new{2005-04-20 (水) 20:08:43};
-私もイマイチ使い方が理解できません…。漠然とはわかる気がするのですが、何故そうなるのか、という点があるので使い方と表示例の間に詳しい解説がほしいです…。 -- [[百地]] &new{2005-06-25 (土) 01:28:25};
- 関連: [[欲しいプラグイン/61]], [[自作プラグイン/treepagelist.inc.php]], [[自作プラグイン/pagetree.inc.php]] -- &new{2010-10-01 (金) 00:46:46};
//#comment