テンプレートエンジンにフォーム値の設定機能を付けた
https://github.com/nishimura/laiz-template
これでデザイナーから大量のinput type="checkbox"が入ったHTMLを渡されても、正規表現置換で一瞬で対応できる。
簡単なマニュアル書いた。
if文
hasError変数がtrueの時(if ($hasError))だけタグ内を表示します。
<div style="color:red;" laiz:if="hasError"> {errors.myError} </div>繰り返し
タグ内をforeachで繰り返し出力します。
<li laiz:loop="arrayOrObjectVarName:innerName"> {innerName.myValue} </li><li laiz:loop="arrayOrObjectVarName:index:innerName"> {index}: {innerName.myValue} </li>https://github.com/nishimura/laiz-template/wiki/ja-readmeフォーム制御
基本的に何もしませんが
<input type="text" name="item[name]" value="{item.name}"> <input type="text" name="item[value]" value="{item.value}">のように記述してPHP側で array を object に変換する方針を想定しています。
selectboxとcheckbox、radioはめんどくさいのでユーティリティがあります。checkbox, radio
タグにlaiz:formをつけると nameとvalueを解析してcheckedを自動設定します。
<input type="checkbox" name="check1" value="ON" laiz:form/> <input type="checkbox" name="checks[]" value="check1" laiz:form/> <input type="checkbox" name="checks[]" value="check2" laiz:form/> <input type="radio" name="radio1" value="value1" laiz:form/> <input type="radio" name="radio1" value="value2" laiz:form/>selectbox
<?php $vars->items = array('選択1', '選択2', '選択3'); $vars->selectedItem = '選択2';HTML
<select name="selectedItem" laiz:form="items"> <option value=""> - </option> </select>