«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_aModule) && (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+以上が必要です。

20 Mar, 2006 | プラグイン ( スキン変数 ) | | Andy |

アイテムへの記述方法

アイテムの下に新しい階層を作る場合,アイテム内に次のような形式で記述します。
[[セクション|タイトル|識別子]]

例えば
[[*. |プラグインの概要|bookdesc]]
[[*. |対応システムとインストール・設定|booksystem]]
[[*. |使い方|bookusage]]
[[*. |履歴|bookhistory]]
[[*. |ダウンロード|bookdownload]]
こうすると,このアイテムの下に新しいサブカテゴリー「プラグインの概要」,「対応システムとインストール・設定」,「使い方」,「履歴」,「ダウンロード」
ができ,同じ名前のアイテムも作られます。アイテムの表示は
1. プラグインの概要
2. 対応システムとインストール・設定
3. 使い方
4. 履歴
5. ダウンロード
のようになり,新しいアイテムへのリンクが自動的に貼られます。

「セクション」の項目は連番を自動的に振るためのものです。「*」を連番に置き換えるので「Section *」といった書き方をすると「Section 1」などとなります。

「タイトル」の項目は編集時に変更できます。カテゴリー名やアイテムのタイトルは自動的に修正されます。

「識別子」の項目は一度作ったら修正しないでください。ここを変えると新しいカテゴリーを作成します(実際にはこの内容はカテゴリーの説明のところに入ります)。

ダウンロード

NP_Book 0.1 ダウンロード(3.4KB)[416clicks]

19 Mar, 2006 | プラグイン ( ダウンロード ) | | Andy |

履歴

2006.3.20 Ver.0.1 公開
2006.4.18 Ver.0.2 公開 ページ・スイッチに対応


19 Mar, 2006 | プラグイン ( 履歴 ) | | Andy |

使い方

アイテムへの記述方法
スキン変数

19 Mar, 2006 | プラグイン ( 使い方 ) | | Andy |

対応システムとインストール・設定

階層構造の管理にNP_MultipleCategoriesの無限階層版を使用します。プラグインのインストール時にNP_MultipleCategoriesが入っている必要があります。また,NP_MultipleCategoriesをアンインストールするときは,先にこのプラグインをアンインストールしないといけません。

ただし,無限階層版になっているかのチェックはしていないので,自己責任でお願いします。また,インストール時にサブカテゴリー名のフィールドを拡張します。デフォルトではプラグイン名のフィールドが40バイトしかないからです。

Nucleusのバージョンには依存しませんが,3.2.2以上をお勧めします。

インストールはファイルをプラグイン・ディレクトリにアップロードした後,普通にプラグイン管理画面から「Book」を追加するだけです。

プラグイン設定は,ダミー・アイテムに入れる初期文字列の設定だけです。新しい項目を作ったときに,プラグインが自動的にアイテムを作成しますが,その初期文字列です。デフォルトは「Under Construction」となっています。

このほか,スキンやテンプレートの設定も必要になります。詳しくは「使い方」の項目をごらんください。

プラグインの概要

このプラグインNP_Bookは階層構造のドキュメントをアイテムの編集機能だけで作るものです。

プラグイン一覧

1. NP_Book

19 Mar, 2006 | プラグイン | | Andy |

NP_Book

1. プラグインの概要
2. 対応システムとインストール・設定
3. 使い方
4. 履歴
5. ダウンロード

19 Mar, 2006 | プラグイン ( NP_Book ) | | Andy |
«Prev || 1 || Next»

© 2007 yoursite.com | Designed by DesignsByDarren
Ported to Nucleus CMS: Suvoroff