NOREN用 スニペット

# はじめに
制作時に使用頻度が高かったタグ・スニペットを掲載。
詳細はマニュアルを確認して下さい。

## 略語
- TL＝Template
- AF＝ActionField
- CP＝Component
- CM＝ContentManager

## 演算子
- ＝：等しい
- <>：以外
- >=：以上
- <=：以下
- >：大きい
- <：小さい
- &&：and条件
- ||：or条件
- !：式の否定値を返す





# ディレクトリタグ
##RootDir
最上位のディレクトリ情報を表示する時に使用。
CPではRootDirで指定しないと、TLの階層が変わった場合画像が表示されなくなるので注意


####<使用例>

```
[[--RootDir--]]directory01/img/img01.png
```


##CurDir
現在のディレクトリ情報を表示する時に使用。


####<使用例>

```
<[[--CurDir--]]../img/img01.png>
```
```
<[[—CurDir,カテゴリ名--]]img01.png>
```

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



# カテゴリタグ
##CatAddress
カテゴリに登録されているリストページのURLを表示。

####<使用例>
```
[[--CatAddress,カテゴリ名,form:1--]]
```
※リストテンプレート一覧最上のTLにリンクを繋ぐ場合はform:1を省略する事が出来る




////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

# 変数タグ
##Record
StartとEndの間の内容を変数として宣言。
アクションタグが記述してある場合は、変換せずに文字列として宣言される。
####<使用例>
hogeという変数に値を代入

```
[[--RecordStart,name:hoge--]]ダミーテキストです[[--RecordEnd--]]
```




##Write
変数の値を表示する。
####<使用例>
hogeという変数に入っている値を展開。

```
[[--RecordStart,name:hoge--]]ダミーテキストです[[--RecordEnd--]]

<p>[[--Write,Name:hoge--]]</p>

（上部を展開）
<p>ダミーテキストです</p>

```


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

# 条件分岐
## Exist
指定したフィールドに値が存在するか判断を行う。
####<使用例>
af_hogeというアクションフィールドの値が空じゃない場合、
ThenStart〜ThenEnd内の文字列を表示。

```
[[--IfStart,exist:af_hoge--]]
	[[--ThenStart--]]
		<div>ダミーテキストです</div>
	[[--ThenEnd--]]
[[--IfEnd--]]
```

#####(ポイント)
**「exist」と「is」は同時に使用出来ない。**

例）[[--ifStart,exist:af_hoge,is:af_fuga=100--]]
af_hogeに値が入っていない（かつ）af_fugaの値が100と表示させる場合は

```
[[--IfStart,exist:af_hoge--]]
	[[--ThenStart--]]
		[[--IfStart,is:af_fuga=100--]]
			[[--ThenStart--]]
				<div>ダミーテキストです</div>
			[[--ThenEnd--]]
		[[--IfEnd--]]
	[[--ThenEnd--]]
[[--IfEnd--]]
```



## is
指定したフィールドの値と指定した値が等しいか判断を行う。
####<使用例1>
af_hogeというアクションフィールドの値が100の場合、
ThenStart〜ThenEnd内の文字列を表示。

```
[[--IfStart,is:af_hoge=100--]]
	[[--ThenStart--]]
		<div>ダミーテキストです</div>
	[[--ThenEnd--]]
[[--IfEnd--]]
```

####<使用例2>
af_hogeというアクションフィールドの値が100の場合、
ThenStart〜ThenEnd内の文字列を表示。
値が100以外の場合は、
ElseStart〜ElseEnd内の文字列を表示。

```
[[--IfStart,is:af_hoge=100--]]
	[[--ThenStart--]]
		<div>af_hogeの値は100です</div>
	[[--ThenEnd--]]
	[[--ElseStart--]]
		<div>af_hogeの値は100ではありません</div>
	[[--ElseEnd--]]
[[--IfEnd--]]
```

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


# 繰り返し処理
繰り返しContentを表示する際に使用するアクションタグ。
コンテンツを一覧で表示する際などに使用。
カテゴリの指定・表示するコンテンツの件数・検索条件・並び替えの順序などを指定することが出来る。

## Action
指定したカテゴリからコンテンツを取得し、一覧表示する。
使用頻度の高いアクションタグであり、一番オプションが多いタグ。
####<使用例1>
カテゴリ名cg_hogeのアクションフィールド名af_hogeを10件取得し、
その中のコンテンツIDの降順で並べ5件を表示。


```
[[--ActionStart,category:cg_hoge,search:af_hoge,size:10,row:5,sort:desc--]]
    <div>ダミーテキストです</div>
[[--ActionEnd--]]
```



####<使用例2>
カテゴリ名cg_hogeのアクションフィールド名af_hogeを10件取得し、
その中のコンテンツIDの降順で並べ5件を表示。


```
[[--ActionStart,
    category:cg_hoge,
    search:af_hoge_check=true&&af_hoge_txt1=テキスト1
                             &&af_hoge_txt2=テキスト2
                             &&(af_hoge_txt3=テキスト3||af_hoge_txt4=テキスト4),
    sort:af_hoge_id=desc,row:*
--]]
<div>ダミーテキストです</div>
[[--ActionEnd--]]
```



# 併せて読む
[1. NOREN〜基礎〜](http://qiita.com/xxxamxxx/items/7e8e2bb3824b8f594e3d)
[2. NOREN〜アクションフィールドの作成〜](http://qiita.com/xxxamxxx/items/711c46e85ae1f55ee632)
[3. NOREN〜コンテンツマネージャの構築〜](http://qiita.com/xxxamxxx/items/19aa596e805075515f28)