Categories
open all | close allTags
RESTful | 名称 | Migration | nextlink | Aptana | フォーム | 抽象化 | パソコン | テスト | デュアル・コア | OpenID | アクセス制御 | カテゴリ | モデル | タグ | CSRF | プラグイン | 認証 | rake | スキンエンジンSearch
«Prev || 1 || Next»
わけが分からない
昨日の続きでまだうまくいきません。というかRuby(Rails?)の動きが理解できません。結局,プラグインの子クラスの一覧を取る機能は次のように実現しました。
def self.list
@@pluginlist ||= Array.new
if @@pluginlist.size == 0
@@pluginlist = Class.constants.select do |c|
cclass = c.constantize
if (cclass.is_a? Module) && (cclass.constants.include? 'Base')
FoodynPlugin::Base > (c+'::Base').constantize
end
end
end
@@pluginlist
end最初にpluginlistにArrayを入れてサイズを調べるといったまだるっこしいところをしているのは,またもやリロードのときにpluginlistが空になってしまうという問題に対応するためです。
中身はClassでの定数の配列を獲得し,それがModuleの名前かどうかを調べ,次にさらにそのモジュールでBaseという定数が定義されているかどうかを調べて,最後にFoodynPlugin::Baseと比較しています。
ところが,リロードすると最後の比較のときにtrueにならなきゃいけないところがなぜかnilに。理解できない。こまったなあ。
スキン変数
1. <%Book(categorylist)%>無限階層版のMultipleCategoriesのサブカテゴリー順序指定機能に対応したカテゴリー表示をします。この機能に対応したほかのプラグイン,例えばznMCListで置き換えても構いません。
2. <%Book(テンプレート名, アイテム数)%>
スキンの本体で<%blog%>の代わりに使います。日付順ではなくカテゴリーの階層構造順にアイテムを表示します。
例えば
A┳B┳C
┃ ┗D
┗E
といった構造だった場合,
A,B,C,D,Eの順にアイテムを表示します。
テンプレートは特に制限ありませんが,日付表示などは取った方が見栄えがよくなります。
なお,ページ・スイッチに対応するためにはNP_Pager 0.2+以上が必要です。
アイテムへの記述方法
アイテムの下に新しい階層を作る場合,アイテム内に次のような形式で記述します。[[セクション|タイトル|識別子]]
例えば
[[*. |プラグインの概要|bookdesc]]こうすると,このアイテムの下に新しいサブカテゴリー「プラグインの概要」,「対応システムとインストール・設定」,「使い方」,「履歴」,「ダウンロード」
[[*. |対応システムとインストール・設定|booksystem]]
[[*. |使い方|bookusage]]
[[*. |履歴|bookhistory]]
[[*. |ダウンロード|bookdownload]]
ができ,同じ名前のアイテムも作られます。アイテムの表示は
1. プラグインの概要のようになり,新しいアイテムへのリンクが自動的に貼られます。
2. 対応システムとインストール・設定
3. 使い方
4. 履歴
5. ダウンロード
「セクション」の項目は連番を自動的に振るためのものです。「*」を連番に置き換えるので「Section *」といった書き方をすると「Section 1」などとなります。
「タイトル」の項目は編集時に変更できます。カテゴリー名やアイテムのタイトルは自動的に修正されます。
「識別子」の項目は一度作ったら修正しないでください。ここを変えると新しいカテゴリーを作成します(実際にはこの内容はカテゴリーの説明のところに入ります)。
ダウンロード
NP_Book 0.1履歴
2006.3.20 Ver.0.1 公開2006.4.18 Ver.0.2 公開 ページ・スイッチに対応
使い方
アイテムへの記述方法スキン変数
対応システムとインストール・設定
階層構造の管理にNP_MultipleCategoriesの無限階層版を使用します。プラグインのインストール時にNP_MultipleCategoriesが入っている必要があります。また,NP_MultipleCategoriesをアンインストールするときは,先にこのプラグインをアンインストールしないといけません。ただし,無限階層版になっているかのチェックはしていないので,自己責任でお願いします。また,インストール時にサブカテゴリー名のフィールドを拡張します。デフォルトではプラグイン名のフィールドが40バイトしかないからです。
Nucleusのバージョンには依存しませんが,3.2.2以上をお勧めします。
インストールはファイルをプラグイン・ディレクトリにアップロードした後,普通にプラグイン管理画面から「Book」を追加するだけです。
プラグイン設定は,ダミー・アイテムに入れる初期文字列の設定だけです。新しい項目を作ったときに,プラグインが自動的にアイテムを作成しますが,その初期文字列です。デフォルトは「Under Construction」となっています。
このほか,スキンやテンプレートの設定も必要になります。詳しくは「使い方」の項目をごらんください。
プラグインの概要
このプラグインNP_Bookは階層構造のドキュメントをアイテムの編集機能だけで作るものです。プラグイン一覧
1. NP_BookNP_Book
1. プラグインの概要2. 対応システムとインストール・設定
3. 使い方
4. 履歴
5. ダウンロード
«Prev || 1 || Next»