ホーム > スキン > skinvar-if

Skinvars: if/ifnot/else/elseif/elseifnot/endif

Inserts a content block only when certain conditions are fullfilled. Can be used in the item and comment fields of templates as of 3.60,as well as in Item bodies (same as item template fields).

Arguments

Only the if,ifnot,elseif,and elseifnot skinvars have options

  • type: type of condition
  • name: name of option (optional)
  • value: value to be checked (optional)

Condition types

  • category: condition is fullfilled when a category is selected
    • category: checks if any category is selected
    • category,catname,CategoryName: checks if the current category is CategoryName
    • category,catid,CategoryId: checks if the current category is CategoryId
  • blogsetting: checks if the value name blogsetting equals value (the name is the column name from the nucleus_blog sql table)
  • loggedin: condition is fullfilled if visiting member is currently logged in
  • onteam: condition is fullfilled if visiting member is currently logged in & member of the blog team of the current blog (or the blog given in the name parameter)
  • admin: condition is fullfilled if visiting member is currently logged in & member with blog admin rights to the current blog (or the blog given in the name parameter)
  • nextitem: true if there is a more recent item available for the current weblog (item skintype)
  • previtem: true if there is an older item available for the current weblog (item skintype)
  • archivenextexists: true if there is a more recent archive available for the current weblog (archive skintype)
  • archiveprevexists: true if there is an older archive available for the current weblog (archive skintype)
  • skintype: checks if the current skin type is equal to value (index,search,item,archive,archivelist,...). For special skin parts,the skin type is the name of the special skin part.
  • hasplugin: checks if the a plugin is installed,or if a plugin option has been set to a specific value
    • hasplugin,PluginName: checks if plugin is available
    • hasplugin,PluginName,OptionName: checks if a plugin option is not set to "no"
    • hasplugin,PluginName,OptionName=value: checks if a plugin option is set to a specific value
  • PluginName: checks if the a plugin is installed,and executes doIf() method of plugin to check condition of name/value pair. This allows plugins to do conditional checks in a skin. See documentation for your plugin to determine what conditionals it can perform and the syntax required for its use.
    • PluginName,AttributeName: uses PluginName plugin to check if AttributeName has empty value
    • PluginName,AttributeName,AttributeValue: uses PluginName plugin to check if AttributeName is AttributeValue
  • itemcategory: checks conditions related to the category of the current item (item and comment template fields only)
    • itemcategory: checks if current item has a category (always true)
    • itemcategory,catname,CategoryName: checks if the category of the current item is CategoryName
    • itemcategory,catid,CategoryId: checks if the id of the item"s category is CategoryId
  • itemblogsetting: checks if the value name blogsetting of the current item"s blog equals value (the name is the column name from the nucleus_blog sql table) (item and comment template fields only)
  • author: checks conditions related to the author of the current item (item and comment template fields only)
    • author: checks if the current visitor is the author of the item
    • author,isadmin: checks if the author of the item is an admin of the blog
    • author,name,AuthorName: checks if the user name of the item"s author is AuthorName
    • author,isauthor: checks if the comment author is also the author of the item. (comment template fields only)
    • author,isonteam: checks if the comment author is a member of blog team of current item. (comment template fields only)

Skintypes

all

Examples

<%if(loggedin)%>
Welcome back!
<%else%>
Welcom guest!
<%endif%>
<%if(category,catname,Off Topic)%>
Welcome to the "Off Topic" category.
<%endif%>
<%ifnot(loggedin)%>
Access Denied!
<%elseif(admin)%>
Welcome O Mighty Admin of this Blog!
<%elseif(onteam)%>
Welcome O Worthy Blog Team Member!
<%else%>
Welcome O Humble Site Member!
<%endif%>

Notes

If you want something to be displayed only if a condition is not fullfilled,you can use a construct like this:

<%ifnot(skintype,error)%>
<%blogsetting(name)%>
<%endif%>

スキン変数:if/ifnot/else/elseif/elseifnot/endif

決まった条件を満たしている時にのみ、コンテンツ・ブロックを挿入します。3.6以降では、テンプレートの「アイテムの本体」と「コメントの本体」でも同じ様に使う事ができます。

引数

スキン変数 if/ifnot/elseif/elseifnot に対してのみ、引数が必須になります

  • 必須:
    名前
    type条件の種類
    typeによって、以下のオプションをとることがあります
    name条件の名前
    value条件の名前の値

条件の種類

  • category:カテゴリーを選択しているか、また、カテゴリの設定と比較した結果を返します。
    • category:カテゴリが選択されているか調べます。
    • category,catname,CategoryName :現在のカテゴリ名と CategoryName が一致するかどうかを返します。
    • category,catid,CategoryID:現在のカテゴリのIDと CategoryId が一致するかどうかを返します。
  • blogsetting:Blog設定の name 項目の値と value を 比較します。
    • blogsetting,name,value name (SQLテーブル nucleus_blogにあるカラム名)が value と一致するかどうかを返します。
  • loggedin:訪問者がログインしているか調べます。
  • onteam:訪問者がログインし、現在のブログ、または、name で指示されたブログのチームに入っているか調べます。
  • admin:訪問者がログインし、現在のブログ、またはname で指示されたブログの管理権限があるか調べます。
  • nextitem:個別アイテムページにおいて、現在のブログにより古いアイテムがあるか調べます。
  • previtem:個別アイテムページにおいて、現在のブログにより新しいアイテムがあるか調べます。
  • archivenextexists:月別アーカイブページにおいて、現在のブログに、現在表示しているものより古い月、または古い日のアーカイブがあるか調べます。
  • archiveprevexists:月別アーカイブページにおいて、現在のブログに、現在表示しているものより新しい月、または新しい日のアーカイブがあるか調べます。
  • skintype:現在のスキンタイプが value (index, search, item, archive, archivelist など…)と一致するか、URLによって判別します。
    スペシャルスキンパーツの場合は、スペシャルスキンパーツの名前が value と一致するか、URLによって判別します。
  • haspluginPluginName で指定されたプラグインがインストールされているか、または、プラグインのオプションの値と一致するかどうかを返します。
    • hasplugin,PluginNamePluginName で指定されたプラグインが存在するか調べます。
    • hasplugin,PluginName, OptionNamePluginName で指定されたプラグインの OptionName の値の存在を確認した結果を返します。
    • hasplugin,PluginName, OptionName=valuePluginName で指定されたプラグインの OptionName の値と、 value が一致するかどうかを返します。
  • if拡張対応プラグイン名:第1引数には、"NP_"を取ったプラグイン名を指定します。第1引数で指定したプラグインに、第2引数、第3引数を渡し確認した結果を返します。
    • プラグイン名,属性名: プラグイン名 で指定されたプラグインが 属性名 で指定した属性の存在を確認した結果を返します。
    • プラグイン名,属性名,属性値: プラグイン名 で指定されたプラグインの 属性名 の値と 属性値 が一致するかどうかを返します。
  • itemcategory: テンプレートの「アイテム本体」と「コメント本体」において、現在のアイテムのカテゴリを調べます。
    • itemcategory: 現在のアイテムがカテゴリに属しているかどうか調べます。常にtrueを返します。
    • itemcategory,catname,CategoryName: 現在のアイテムのカテゴリが CategoryName と一致するかどうかを返します。
    • itemcategory,catid,CategoryId: 現在のアイテムのカテゴリIDが CategoryId と一致するかどうかを返します。
  • itemblogsetting:テンプレートの「アイテム本体」と「コメント本体」において、現在のアイテムのBlog設定の name 項目の値と value を 比較します。
    • itemblogsetting,name: 現在のアイテムの属するウェブログの名前がnameと一致するかどうかを返します
    • itemblogsetting,name,value name (SQLテーブル nucleus_blogにあるカラム名)が value と一致するかどうかを返します。
  • author:テンプレートの「アイテム本体」と「コメント本体」において、現在のアイテムの投稿者について調べます。
    • author:訪問者が現在のアイテムの投稿者かどうかを調べます。
    • author,isadmin:アイテムの投稿者がブログの管理権限、またはsuper-admin権限があるか調べます。
    • author,name,AuthorName:アイテムの投稿者のユーザー名がAuthorNameと一致するかどうかを返します。
    • author,isauthor:テンプレートの「コメント本体」において、コメントの投稿者が、アイテムの投稿者と一致するかどうかを調べます。
    • author,isonteam:テンプレートの「コメント本体」において、コメントの投稿者が、現在のアイテムのブログチームのメンバーであるかどうか調べます。
    • loggedin:訪問者がログインしているか調べます。
    • onteam:訪問者がログインし、現在のブログ、または、name で指示されたブログのチームに入っているか調べます。
    • admin:訪問者がログインし、現在のブログ、またはname で指示されたブログの管理権限があるか調べます。

スキンタイプ

全て

<%if(loggedin)%>おかえりなさい!<%else%>ようこそ!<%endif%>
<%if(category,catname,Off Topic)%>"Off Topic" カテゴリへようこそ。<%endif%>
<%if(category,catid,1)%>"ID1"のカテゴリです。<%endif%>
<%ifnot(loggedin)%>アクセス禁止!<%elseif(admin)%>管理者さんようこそ!<%elseif(onteam)%>チームメンバーさんようこそ!<%else%>サイトメンバーさんようこそ!<%endif%>

注意

条件が満たされない時にだけ何らかの表示を行いたい場合は、次のようにすることができます

<%ifnot(skintype,error)%><%blogsetting(name)%><%endif%>

コメント送信

Nucleusをご利用いただき、ありがとうございます。ヘルプファイルの内容について気がついた事がございましたら、コメントフォームよりご連絡ください。
いただきましたコメントは、次期バージョンの「オンラインヘルプ」に反映させてまいります。
なお、コチラでは個別対応は出来ませんので、疑問点などございましたら、サポートフォーラムへ投稿をお願いいたします。

コメント

gblsm (2012年03月10日 18:16:52)

1) 引数の説明文の末尾、「〜が必須になります」は、「〜が必須です。」のように「。」を付けたほうがよいと思います。

2) nextとprevが逆ではないでしょうか?(アーカイブは月、日に加えて年も。)
 nextitem:個別アイテムページにおいて、現在のブログにより古いアイテムがあるか調べます。⇒ 〜より新しいアイテム〜
 previtem:個別アイテムページにおいて、現在のブログにより新しいアイテムがあるか調べます。⇒ 〜より古いアイテム〜
 archivenextexists:月別アーカイブページにおいて、現在のブログに、現在表示しているものより古い月、または古い日のアーカイブがあるか調べます。⇒ 〜新しい月、または新しい日、または新しい年の〜
 archiveprevexists:月別アーカイブページにおいて、現在のブログに、現在表示しているものより新しい月、または新しい日のアーカイブがあるか調べます。⇒ 〜古い月、または古い日、または古い年の〜

3) hasplugin の2番目の説明が実際のコードと少し違うように思います。(ACTIONS.phpの_ifHasPlugin関数を参照。)
 hasplugin,PluginName, OptionName:PluginName で指定されたプラグインの OptionName の値の存在を確認した結果を返します。
 ⇒ 値が存在してもそれが no なら(真偽でいうと)偽が返されるので、「値が存在してnoで無いか確認した結果〜」(ちょっと冗長ですが)だと思います。

Item ID:177