plugins:np_or_np_and

NP_or / NP_and

このプラグインを用いると、Skin への記述に用いる if 文において、Nucleus のコアでは提供されていない、条件の or や and を用いることが出来ます。

注:このプラグインは、Nucleus 3.3 以降で有効です。

General Plugin info
作者: Katsumi
最新のバージョン: ver 0.1.1
入手先: 下記ソースコードを参照
ソース: NP_or のソースコード
ソース: NP_and のソースコード
動作サンプル:
フォーラム参照先: http://japan.nucleuscms.org/bb/viewtopic.php?t=3176
セキュリティチェック:  

インストール方法

  1. NP_or.php もしくは NP_and.php という名のファイルを作成し、エディタを用いてNP_or のソースコードもしくはNP_and のソースコードをコピー&ペーストする(このとき、最初の <?php と最後の ?> の前後に、余分な改行が入らないように注意)。
  2. nucleus/plugins/ ディレクトリに、作成されたファイルをアップロードする
  3. 管理画面からプラグインをインストールする

このプラグインの使い方

スキン変数として、<%if(or,[xxx|XXX][yyy|YYY])%>あるいは<%if(and,[xxx|XXX][yyy|YYY])%>のように記述し、条件分岐を行います。

スキンへの記述

構文

  • 基本的に、
    <%if(or,[xxx|XXX][yyy|YYY])%>

    のように記述します。この場合、<%if(xxx,XXX)%> or <%if(yyy,YYY)%> に相当します。[xxx|XXX]などを2つだけでなく、3つ以上続けて表記することも可能です。

  • デリミタとしては、『[』 『|』 『]』 がデフォルトで設定されています。もしこれらの記号がデリミタとして使えないときは、デリミタを変更可能です。例えば 『<』 『!』 『>』 を用いたいときは、
    <%if(or,<xxx!XXX><yyy!YYY>,<!>)%>

    のように、第3引数に『<!>』を指定してください。

  • 上の表記における、『xxx』 『XXX』 『yyy』 『YYY』の部分は、PHPのrawurldecode()関数を通して解釈されます。ですので、『%xx』(xx は2桁の16進数表記)が1バイト文字に変換されます。『%』を用いたいときは、『%25』と表記してください。

いろいろな条件分岐

  • ログインしているか、カテゴリid=1が指定されている場合の一般的な記述方法:
    <%if(loggedin)%>
    表示されています
    <%elseif(category,catid,1)%>
    表示されています
    <%endif%>

    の代わりに使う時は

    <%if(or,[loggedin][category|catid|1])%>
    表示されています
    <%endif%>

    と記述します。

  • 入れ子で使用することが可能です。例えば、次のように記述します。
    <%if(or,[and|<loggedin><category!catid!1>|<!>][admin])%>
    表示されています
    <%endif%>

    この場合、『メンバーがログインしていて、かつ、カテゴリidが1である』か、もしくは『ブログ管理権限のあるメンバーがログインしている』が満たされた場合、『表示されています』が表示されます。入れ子で用いる場合は、デリミタを変更する必要があることに注意してください。

テンプレートへの記述

  • 無し

オプション

  • 無し

Tipsと裏技

  • ソースコードの27行目辺り、
    //return false;

    の『//』を削除することで、エラーがあっても表示を続けさせることが可能です。

希望事項

バグ

開発履歴

  • Version 0.1.1 リリース (2007-05-29)
    1. 最初の公開バージョン
 
plugins/np_or_np_and.txt · 最終更新: 2011/03/23 21:28 (外部編集)