You are on page 1of 6

携帯サイト作成

短納期の携帯サイト作成案件で、気づ
いたことや、面白そうな話など++

1
担当案件の環境
PHP4.3.6
MySQL4.0?
.htaccessはかなり制限あり
エラー出力制限(PHPエラーは一切でない)
PEAR::MDB2

Page: 2
Smarty上でPHP関数を効果的に利用

配列
$arrays =array(“a”,”b”,”c”,”d”,”e”,”f”);
$smarty->assign(“arrays”, $a);

テンプレート
<!--{$arrays|smarty:nodefaults|@implode:','}-->

出力結果
a,b,c,d,e,f

Page: 3
チェックボックス入力後の表示を簡単に

$officework_arr=array( “一般事務”,”営業事務”,”受付業務”….);
$officework=array(0,1,3,4);

<!--{html_checkboxes
labels=false
name=officework
options=$officework_arr|smarty:nodefaults
selected=$officework|smarty:nodefaults
}-->

<!--{selectedlist
separator=","
options=$dto->officework_arr|smarty:nodefaults
selected=$dto->officework|smarty:nodefaults
}-->

Page: 4
お馴染み!ErrorListクラスの取り扱い

Core::Smarty4Maple.class.phpにて、errorList objectはrenderer objectに


assign_by_refされています。

エラーを全て表示するには
<font color="#ff0000">
<!--{errorList->getMessages assign=errors}-->
<!--{foreach from=$errors|smarty:nodefaults item=error}-->
<!--{$error}--><br>
<!--{/foreach}-->
</font>

個別のエラーを表示するには
<!--{errorList->getMessage key="tel" assign=messages}-->
<!--{foreach from=$messages|smarty:nodefaults item=message}-->
<font size=-1 color="#ff0000"><!--{$message}--></font>
<!--{/foreach}-->

Page: 5
DBから1行だけ取得して表示

Action側
// ↓DBからfetchした値が入っている
$this->jobData=array()
function getJobdata($key){
if (isset($key['col'])){
$col=$key['col'];
if (isset($this->jobData[$col])){
return $this->jobData[$col];
}
}
return "";
}

テンプレート側
<font color="#ff0080">■</font>期間 <br>
<!--{action->getJobdata|@mb_convert_kana:"ak"
col="term"}-->

PHP関数 カラム名を指定
(半角カナに変換)
Page: 6

You might also like