ログ日記

作業ログと日記とメモ

テンプレートエンジンにフォーム値の設定機能を付けた

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>

フォーム制御

基本的に何もしませんが

<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

<?php
$vars->items = array('選択1', '選択2', '選択3');
$vars->selectedItem = '選択2';

HTML

<select name="selectedItem" laiz:form="items">
  <option value=""> - </option>
</select>
https://github.com/nishimura/laiz-template/wiki/ja-readme