PEAR::HTML_TreeMenuとDB_NestedSet
今日は、HTML_TreeMenuとDB_NestedSetではまってました。
どちらもPEARというPHP用のライブラリです。規模は違うけど、PerlのCPANみたいなものですね。
HTML_TreeMenuがツリー構造のメニューを配列から生成するもので、DB_NestedSetがその配列をデータベースに保存するためのものです。ノードの追加や移動などのメソッドが用意されてるんで簡単にツリー形式のメニューが作れます。ただ、ドキュメントが少なくてここに辿り着くまでにかなり苦労しました。
最初、PEAR::Treeを試したんですけど、HTML_TreeMenuとの連携という点ではDB_NestedSetのほうが簡単です。DB_NestedSetのメソッドとして実装されているので、HTML_TreeMenuは意識する必要がありません。
ただ、1.3以降のベータバージョンでないと、tree_toHTML()というメソッドが使えないので、出力を変数に格納することができません。CMS等で使う場合は、最新版にしましょう。
本当はここにサンプルを載せたいけど、風邪をひいたらしく体調悪いのでまた次回。
どちらもPEARというPHP用のライブラリです。規模は違うけど、PerlのCPANみたいなものですね。
HTML_TreeMenuがツリー構造のメニューを配列から生成するもので、DB_NestedSetがその配列をデータベースに保存するためのものです。ノードの追加や移動などのメソッドが用意されてるんで簡単にツリー形式のメニューが作れます。ただ、ドキュメントが少なくてここに辿り着くまでにかなり苦労しました。
最初、PEAR::Treeを試したんですけど、HTML_TreeMenuとの連携という点ではDB_NestedSetのほうが簡単です。DB_NestedSetのメソッドとして実装されているので、HTML_TreeMenuは意識する必要がありません。
ただ、1.3以降のベータバージョンでないと、tree_toHTML()というメソッドが使えないので、出力を変数に格納することができません。CMS等で使う場合は、最新版にしましょう。
本当はここにサンプルを載せたいけど、風邪をひいたらしく体調悪いのでまた次回。
perm link: http://yamashita.dyndns.org/blog/118/









