TOOL更新_viewをphp(ver0.1)からsmarty(次期ver)へ置き換えた。
TOOL更新_viewをphp(ver0.1)からsmarty(次期ver)へ置き換えた。サンプルとした、logininfoaListView.htmlをsmartyにした。プログラム変更点を比較。smartyは「テンプレート関数プラグイン」を作成し、使用している。今後、viewについてはこのページを書き換えていく。
■logininfoaListView.html 修正。=>8/14実際のPGMを載せた(当ブログ内後述)。
番号のところが注目の変更点。(ver0.1とスクリプト言語がphp、smartyというだけ。自作「テンプレート関数プラグイン」を使って。同じロジックにした。)
①削除のときのjavascriptに自作トークンを作っている。 <<ver0.1>> location.href='/samples/kaz/admin/logininfo/logininfoa?mode=del_do&' + 'login_id=' + login_id + '&<?= TokenHandle::getTokenHtml("admin", "base"); ?>'; <<smartyで>> location.href='/samples/kazBase/kaz/admin/logininfo/logininfoa/deldo?' + 'login_id=' + login_id + '&{{kaz_token_html namespace='admin' base='base'}}'; ②チェックボックスに自作ラジオボタンを使っている。 <<ver0.1>> <?=AppHtmlUtil::getHTMLRadio($ELEMENTS['YUKO_FLG'], $o['srch_yuko_flg'], srch_yuko_flg, "全て", $o['c_elements_idx'], 10)?> <<smartyで>> {{kaz_html_radio elename='YUKO_FLG' indata=$o.srch_yuko_flg name="srch_yuko_flg" dflt="全て" idx=$o.c_elements_idx su=10}} ③プルダウンリストに自作プルダウンリストを使っている。 <<ver0.1>> <?=AppHtmlUtil::getHTMLSelect($ELEMENTS['LOGIN_TYPE'], $o['srch_login_type'], srch_login_type, "全て", $o['c_elements_idx'])?> <<smartyで>> {{kaz_html_select elename='LOGIN_TYPE' indata=$o.srch_login_type name="srch_login_type" dflt="全て" idx=$o.c_elements_idx}} ④エラー判定。エラーがないとき <<ver0.1>> <? if (!AppCheckUtil::chkError($err)) { // エラーなし ?> <<smartyで>> {{kaz_chk_error_assign var='err_flg' err=$err}} {{if $err_flg == false }}{{* // エラーなし *}} ⑤ソート順▲の制御 <<ver0.1>> <? $ascDesc = '▲'; // 昇順 if ($o['sort_order']=='D') { $ascDesc = '▼'; // 降順 } ?> <<smartyで>> {{assign var="ascDesc" value='▲'}}{{*// 昇順*}} {{if $o.sort_order=='D'}} {{$oascDesc = '▼'}}{{*// 降順*}} {{/if}} ⑥エレメント取得に自作エレメント取得を使っている。 <<ver0.1>> <?=esc($ELEMENTS['LOGIN_TYPE'][$vals['login_type']][$o['c_elements_idx']]) ?> <<smartyで>> {{kaz_element elename='LOGIN_TYPE' value=$vals.login_type idx=$o.c_elements_idx tdKbn='TD'}} ⑦検索結果のリスト処理 <<ver0.1>> <? if ( !empty($result) ) { $lineCount = 1; foreach( $result as $vals ){ ?> ・・・ } else { ?> <tr> <td align="center" nowrap colspan="6">該当するデータがありませんでした。</td> </tr> <? } ?> <<smartyで>> {{foreach from=$result|smarty:nodefaults item="vals" name="lineCount"}} ・・・ {{/foreach}} {{if $smarty.foreach.lineCount.total == 0}} <tr> <td align="center" nowrap colspan="6">該当するデータがありませんでした。</td> </tr> {{/if}} そのた1:インクルード <<ver0.1>> <?php require(DIR_VIEW . 'admin/header.lbi'); ?> <<smartyで>> {{include file='view/admin/header.lbi'}} そのた2:タイトル <<ver0.1>> <h1><?=$o['c_elements_idx']=='0'?"":"Management "?>ログイン情報 <?=$o['c_elements_idx']=='0'?"管理":""?></h1> <<smartyで>> <h1>{{if $o.c_elements_idx == '0'}}{{else}}Management {{/if}}ログイン情報 {{if $o.c_elements_idx == '0'}}管理{{/if}}</h1> そのた3:「ログインID」チェックエラー <<ver0.1>> <?= $err['srch_login_id']?> <<smartyで>> {{$err.srch_login_id|kaz_encErrTag}} そのた4:データが削除されていたときのエラー <<ver0.1>> <? if ('' != $o['del_do_chk_msg']) { ?> <p class="text-center"><?=$o['del_do_chk_msg']?></p> <? } ?> <<smartyで>> {{if "" != $o.del_do_chk_msg}} <p class="text-center">{{$o.del_do_chk_msg|kaz_encErrTag}}</p> {{/if}}
■common.php 修正
自作「テンプレート関数プラグイン」をインクルードした。補足:smartyのdelimiterを'{{'、'}}'に変更しています。
/* Smartyを設定 */ require_once(DIR_SMARTY . 'Smarty.class.php'); $smarty = new Smarty(); $smarty->template_dir = DIR_TEMPLATE; // テンプレートファイルが存在するディレクトリ $smarty->compile_dir = DIR_COMPILE; // テンプレートのキャッシュを作成するディレクトリ $smarty->left_delimiter = '{{'; $smarty->right_delimiter = '}}'; $smarty->default_modifiers = 'escape:"html"'; //Smarty Plugin require_once('AppSmartyPlugin.php'); $smarty->register_function("kaz_element", "smarty_function_kaz_element"); $smarty->register_function("kaz_token_html", "smarty_function_kaz_token_html"); $smarty->register_function("kaz_html_radio", "smarty_function_kaz_html_radio"); $smarty->register_function("kaz_html_checkbox", "smarty_function_kaz_html_checkbox"); $smarty->register_function("kaz_checkboxdispstr", "smarty_function_kaz_checkboxdispstr"); $smarty->register_function("kaz_html_select", "smarty_function_kaz_html_select"); $smarty->register_function("kaz_chk_error_assign", "smarty_function_kaz_chk_error_assign"); $smarty->register_modifier("kaz_td_nl2br", "smarty_modifier_kaz_td_nl2br"); $smarty->register_modifier("kaz_encErrTag", "smarty_modifier_kaz_encErrTag"); Zend_Registry::set('smarty',$smarty);
■AppSmartyPlugin.php 新規
「テンプレート関数プラグイン」を作った。
<?php /** * @copyright 2010 kaz PHP自動作成◎自動生成お助けTOOL. * @license New BSD License * AppSmartyPlugin.php */ /** * ------------------------------------------------------------- * Smarty {kaz_element} function plugin * * Type: function<br> * Name: kaz_element<br> * Input:<br> * - elename コード一覧(AppElements)のコード名 * - value コード値 * - idx elements_idx ('0':日本語、'1':英語) デフォルト='0' * - tdKbn テーブルTD区分 ('TD':テーブルTD、 以外(指定なしを含む)) * Purpose: AppElementsからコード値を取得しエスケープして戻します。 * @param array * @param Smarty * @return string * @uses smarty_function_escape_special_chars() * ------------------------------------------------------------- **/ function smarty_function_kaz_element($params, &$smarty) { require_once $smarty->_get_plugin_filepath('shared','escape_special_chars'); // エスケープ処理 $elements = AppElements::getInstance(); // コード一覧 if( isset($params['elename']) == false){ $smarty->trigger_error("kaz_element: missing 'elename' parameter"); return; } if( array_key_exists('value', $params) == false){ $smarty->trigger_error("kaz_element: missing 'value' parameter"); return; } if( isset($params['idx']) == false){ $params['idx'] = '0'; // 日本用 } if( isset($params['tdKbn']) == false){ $params['tdKbn'] = ''; // テーブルTD以外 } if(mb_strwidth($params['elename']) == 0 || mb_strwidth($params['value']) == 0){ // パラメータに値がない場合 $rtn = ""; } else { $rtn = smarty_function_escape_special_chars( $elements->elements[$params['elename']][$params['value']][$params['idx']]); } if (strtoupper($params['tdKbn']) == 'TD' && (is_null($rtn) || $rtn == "")){ // テーブルTDの場合かつ、値が空白のとき return " "; } return nl2br($rtn); } /** * ------------------------------------------------------------- * Smarty {kaz_token_html} function plugin * * Type: function<br> * Name: kaz_token_html<br> * Input:<br> * - namespace Zend_Session_Namespace用namespace名 * - base "":post用、""以外:get用 * Purpose: TokenHandleからTokenHtmlを取得して戻します。 * @param array * @param Smarty * @return string * ------------------------------------------------------------- **/ function smarty_function_kaz_token_html($params, &$smarty) { require_once('TokenHandle.php'); if( isset($params['namespace']) == false){ $smarty->trigger_error("kaz_token_html: missing 'namespace' parameter"); return; } if( isset($params['base']) == false){ $params['base'] = ''; } if(mb_strwidth($params['namespace']) == 0 ){ // パラメータに値がない場合 $rtn = ""; } else { $rtn = TokenHandle::getTokenHtml($params['namespace'], $params['base']); } return $rtn; } /** * ------------------------------------------------------------- * Smarty {kaz_html_radio} function plugin * * Type: function<br> * Name: kaz_html_radio<br> * Input:<br> * - elename コード名称 * - indata 入力値 * - name name * - dfltval デフォルト値設定。設定した場合、indataが''のときindataにdfltvalを設定する。 * - dflt デフォルト設定。設定しない場合""を指定する。 * - dfltEng デフォルト設定(英字)。設定しない場合""を指定する。 * - idx elements_idx ('0':日本語、'1':英語) デフォルト='0' * - su 1行のITEM数 * - addItemNm コード名の先頭にこの項目名を付加する * Purpose: AppHtmlUtilからgetHTMLRadioを取得して戻します。 * @param array * @param Smarty * @return HTMLRadio文字 * ------------------------------------------------------------- **/ function smarty_function_kaz_html_radio($params, &$smarty) { require_once('AppHtmlUtil.php'); $elements = AppElements::getInstance(); // コード一覧 if( isset($params['elename']) == false){ $smarty->trigger_error("kaz_html_radio: missing 'elename' parameter"); return; } if( array_key_exists('indata', $params) == false){ $smarty->trigger_error("kaz_html_radio: missing 'indata' parameter"); return; } if( isset($params['name']) == false){ $smarty->trigger_error("kaz_html_radio: missing 'name' parameter"); return; } if( isset($params['dflt']) == false){ $params['dflt'] = ''; // デフォルト指定なし } if( isset($params['dfltEng']) == false){ $params['dfltEng'] = ''; // デフォルト英字指定なし } if( $params['indata'] == '' && isset($params['dfltval']) == true){ $params['indata'] = $params['dfltval']; // indataが''のときdfltvalを初期値とする。 } if( isset($params['idx']) == false){ $params['idx'] = '0'; // 日本用 } if( isset($params['su']) == false){ $params['su'] = 1; // デフォルトは1行に1つ } if( isset($params['addItemNm']) == false){ $params['addItemNm'] = ""; // デフォルトは空文字 } if(mb_strwidth($params['elename']) == 0 || mb_strwidth($params['name']) == 0){ // パラメータに値がない場合 return ""; } return AppHtmlUtil::getHTMLRadio($elements->elements[$params['elename']], $params['indata'], $params['name'], $params['idx']=='0'?$params['dflt']:$params['dfltEng'], $params['idx'], $params['su'], $params['addItemNm']); } /** * ------------------------------------------------------------- * Smarty {kaz_html_checkbox} function plugin * * Type: function<br> * Name: kaz_html_checkbox<br> * Input:<br> * - elename コード名称 * - indata 入力値 * - name name * - idx elements_idx ('0':日本語、'1':英語) デフォルト='0' * - su 1行のITEM数 * Purpose: AppHtmlUtilからgetHTMLCheckBoxを取得して戻します。 * @param array * @param Smarty * @return HTMLCheckBox文字 * ------------------------------------------------------------- **/ function smarty_function_kaz_html_checkbox($params, &$smarty) { require_once('AppHtmlUtil.php'); $elements = AppElements::getInstance(); // コード一覧 if( isset($params['elename']) == false){ $smarty->trigger_error("kaz_html_checkbox: missing 'elename' parameter"); return; } if( array_key_exists('indata', $params) == false){ $smarty->trigger_error("kaz_html_checkbox: missing 'indata' parameter"); return; } if( isset($params['name']) == false){ $smarty->trigger_error("kaz_html_checkbox: missing 'name' parameter"); return; } if( isset($params['idx']) == false){ $params['idx'] = '0'; // 日本用 } if( isset($params['su']) == false){ $params['su'] = 5; // デフォルトは1行に5つ } if(mb_strwidth($params['elename']) == 0){ // パラメータに値がない場合 return ""; } return AppHtmlUtil::getHTMLCheckBox($elements->elements[$params['elename']], $params['indata'], $params['name'], $params['idx'], $params['su']); } /** * ------------------------------------------------------------- * Smarty {kaz_checkboxdispstr} function plugin * * Type: function<br> * Name: kaz_checkboxdispstr<br> * Input:<br> * - elename コード一覧(AppElements)のコード名 * - indata 入力値 * - idx elements_idx ('0':日本語、'1':英語) デフォルト='0' * Purpose: 指定されたコードのHTMLCheckBoxの文字列のみをエスケープして戻します。 * @param array * @param Smarty * @return string * ------------------------------------------------------------- **/ function smarty_function_kaz_checkboxdispstr($params, &$smarty) { $elements = AppElements::getInstance(); // コード一覧 if( isset($params['elename']) == false){ $smarty->trigger_error("kaz_checkboxdispstr: missing 'elename' parameter"); return; } if( array_key_exists('indata', $params) == false){ $smarty->trigger_error("kaz_checkboxdispstr: missing 'indata' parameter"); return; } if( isset($params['idx']) == false){ $params['idx'] = '0'; // 日本用 } if(mb_strwidth($params['elename']) == 0){ // パラメータに値がない場合 $rtn = ""; } return AppHtmlUtil::getHTMLCheckBoxDispStr($elements->elements[$params['elename']], $params['indata'], $params['idx']); } /** * ------------------------------------------------------------- * Smarty {kaz_html_select} function plugin * * Type: function<br> * Name: kaz_html_select<br> * Input:<br> * - elename コード名称 * - indata 入力値 * - name name * - dfltval デフォルト値設定。設定した場合かつ、indataが''のときindataにdfltvalを設定する。 * - dflt デフォルト設定。設定しない場合""を指定する。 * - dfltEng デフォルト設定(英字)。設定しない場合""を指定する。 * - idx elements_idx ('0':日本語、'1':英語) デフォルト='0' * Purpose: AppHtmlUtilからgetHTMLSelectを取得して戻します。 * @param array * @param Smarty * @return getHTMLSelect文字 * ------------------------------------------------------------- **/ function smarty_function_kaz_html_select($params, &$smarty) { require_once('AppHtmlUtil.php'); $elements = AppElements::getInstance(); // コード一覧 if( isset($params['elename']) == false){ $smarty->trigger_error("kaz_html_select: missing 'elename' parameter"); return; } if( array_key_exists('indata', $params) == false){ $smarty->trigger_error("kaz_html_select: missing 'indata' parameter"); return; } if( isset($params['name']) == false){ $smarty->trigger_error("kaz_html_select: missing 'name' parameter"); return; } if( isset($params['dflt']) == false){ $params['dflt'] = ''; // デフォルト指定なし } if( isset($params['dfltEng']) == false){ $params['dfltEng'] = ''; // デフォルト英字指定なし } if( $params['indata'] == '' && isset($params['dfltval']) == true){ $params['indata'] = $params['dfltval']; // indataが''のときdfltvalを初期値とする。 } if( isset($params['idx']) == false){ $params['idx'] = '0'; // 日本用 } if(mb_strwidth($params['elename']) == 0 || mb_strwidth($params['name']) == 0){ // パラメータに値がない場合 return ""; } return AppHtmlUtil::getHTMLSelect($elements->elements[$params['elename']], $params['indata'], $params['name'], $params['idx']=='0'?$params['dflt']:$params['dfltEng'], $params['idx']); } /** * ------------------------------------------------------------- * Smarty {kaz_chk_error_assign} function plugin * * Type: function<br> * Name: kaz_chk_error_assign<br> * Input:<br> * - var テンプート変数 * - err エラー配列 * Purpose: AppCheckUtilからchkErrorを取得し、テンプート変数に値を割り当てる。 * @param array * @param Smarty * @return なし * ------------------------------------------------------------- **/ function smarty_function_kaz_chk_error_assign($params, &$smarty) { require_once('AppCheckUtil.php'); if (empty($params['var'])) { $smarty->trigger_error("kaz_chk_error: missing 'var' parameter"); return; } if( isset($params['err']) == false){ $smarty->trigger_error("kaz_chk_error: missing 'err' parameter"); return; } $smarty->assign($params['var'], AppCheckUtil::chkError($params['err'])); } /** * Smarty kaz_td_nl2br modifier plugin * * Type: modifier<br> * Name: kaz_td_nl2br<br> * Purpose: TD用nl2br。null、空文字のとき” ”を戻す。それ以外はnl2brして戻す。 * $stringはサニタイズ済みであること。 * @param string * @return string */ function smarty_modifier_kaz_td_nl2br($string) { return is_null($string) || $string == '' ? " ":nl2br($string); } /** * Smarty kaz_encErrTag modifier plugin * * Type: modifier<br> * Name: kaz_encErrTag<br> * Purpose: エラーメッセージを赤にして戻す。 * $stringはサニタイズ済みであること。 * @param string * @return string */ function smarty_modifier_kaz_encErrTag($string) { return '<div class="font-s-red-form">' . nl2br($string) . '</div>'; } ?>
■logininfoaAmendRegisterViewInc.html
{{* // ============================================================================ // Copyright (c) 2010 kaz PHP自動作成お助けTOOL. All rights reserved. // ============================================================================ *}} <font color="#FF6600">*</font>は必須記入項目<br> <!-- tbl-01 start --> <table border="0" cellpadding="0" cellspacing="0" class="tbl-01"> {{if strtolower($o.mode) == 'ins'}} <!-- tujyo01 --> <tr> <th width="18%" nowrap ><label for="login_id">ログインID <font color="#FF6600">*</font></label></th> <td class="{{if $err.login_id == ''}}none{{else}}error{{/if}}"><input name="login_id" class="form-eng" id="login_id" type="text" size="15" maxlength="10" value="{{$o.login_id}}"> ※半角英数字 10文字以内 {{$err.login_id|kaz_encErrTag}}</td> </tr> {{else}} <!-- tujyo01 --> <tr> <th width="18%" nowrap >ログインID</th> <td>{{$o.login_id|kaz_td_nl2br}}</td> </tr> <input type="hidden" name="login_id" value="{{$o.login_id}}"> {{/if}} <!-- pulldown --> <tr> <th width="18%" nowrap >ログイン権限 <font color="#FF6600">*</font></th> <td class="{{if $err.login_type == ''}}none{{else}}error{{/if}}"> {{kaz_html_select elename='LOGIN_TYPE' indata=$o.login_type name="login_type" dfltval='' dflt=" --- 以下から選択して下さい。--- " idx=$o.c_elements_idx}} {{$err.login_type|kaz_encErrTag}}</td> </tr><!-- tujyo01 --> <tr> <th width="18%" nowrap ><label for="pwd1">パスワード <font color="#FF6600">*</font></label></th> <td class="{{if $err.pwd1 == ''}}none{{else}}error{{/if}}"><input name="pwd1" class="form-eng" id="pwd1" type="text" size="12" maxlength="8" value="{{$o.pwd1}}"> ※半角英数字 8文字以内 {{$err.pwd1|kaz_encErrTag}}</td> </tr><!-- radio --> <tr> <th width="18%" nowrap >有効フラグ <font color="#FF6600">*</font></th> <td class="{{if $err.yuko_flg == ''}}none{{else}}error{{/if}}"> {{kaz_html_radio elename='YUKO_FLG' indata=$o.yuko_flg name="yuko_flg" dfltval='2' dflt="" idx=$o.c_elements_idx su=10}} {{$err.yuko_flg|kaz_encErrTag}}</td> </tr> </table> <!-- tbl-01 end -->
■logininfoaAmendView.html
{{* // ============================================================================ // Copyright (c) 2010 kaz PHP自動作成お助けTOOL. All rights reserved. // ============================================================================ // ログイン情報変更 画面 *}} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>kaz PHP自動作成お助けTOOL サイト管理システム</title> <link rel="stylesheet" href="/samples/kazBase/kaz/admin/css/screen.css" type="text/css" media="screen,print" /> <script type="text/javascript" src="/samples/kazBase/kaz/admin/js/kaz.js"></script> </head> <body> <!-- wrapper start --> <div id="wrapper"> <!-- #BeginLibraryItem "/Library/header.lbi" --> {{include file='view/admin/header.lbi'}} <!-- #EndLibraryItem --> <!-- contents start --> <div id="contents"> <!-- #BeginLibraryItem "/Library/menu.lbi" --> {{include file='view/admin/menu.lbi'}} <!-- #EndLibraryItem --> <!-- main start --> <div id="main"> <h1>{{if $o.c_elements_idx == '0'}}{{else}}Management {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}管理{{/if}}</h1> <h2>{{if $o.c_elements_idx == '0'}}{{else}}Modify {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}変更{{/if}}</h2> <!-- contents start --> <form name="frm" id="frm" method="post" action="/samples/kazBase/kaz/admin/logininfo/logininfoa/upddo" > <input type="text" name="dummy" style="display:none;" /> {{kaz_token_html namespace='admin'}} {{include file='view/admin/logininfo/logininfoaAmendRegisterViewInc.html'}} <p class="text-center"><a href="javascript:do_Submit_Clk1();"><img src="/samples/kazBase/kaz/admin/img/btn/btn_entry.gif" alt="登録" width="61" height="22" border="0" class="right5" /></a><a href="/samples/kazBase/kaz/admin/logininfo/logininfoa/listback"><img src="/samples/kazBase/kaz/admin/img/btn/btn_list.gif" alt="一覧に戻る" width="91" height="22" border="0" /></a></p> </form> </div> <!-- main end --> <p class="clear"></p> </div> <!-- contents end --> <!-- #BeginLibraryItem "/Library/footer.lbi" --> {{include file='view/admin/footer.lbi'}} <!-- #EndLibraryItem --> </div> <!-- wrapper end --> {{include file='view/admin/analytics.lbi'}} </body> </html>
■logininfoaDetailView.html
{{* // ============================================================================ // Copyright (c) 2010 kaz PHP自動作成お助けTOOL. All rights reserved. // ============================================================================ // ログイン情報詳細 画面 // *}} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>kaz PHP自動作成お助けTOOL サイト管理システム</title> <link rel="stylesheet" href="/samples/kazBase/kaz/admin/css/screen.css" type="text/css" media="screen,print" /> </head> <body> <!-- wrapper start --> <div id="wrapper"> <!-- #BeginLibraryItem "/Library/header.lbi" --> {{include file='view/admin/header.lbi'}} <!-- #EndLibraryItem --> <!-- contents start --> <div id="contents"> <!-- #BeginLibraryItem "/Library/menu.lbi" --> {{include file='view/admin/menu.lbi'}} <!-- #EndLibraryItem --> <!-- main start --> <div id="main"> <h1>{{if $o.c_elements_idx == '0'}}{{else}}Management {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}管理{{/if}}</h1> <h2>{{if $o.c_elements_idx == '0'}}{{else}}Detail {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}詳細{{/if}}</h2> <!-- contents start --> <!-- tbl-01 start --> <table border="0" cellpadding="0" cellspacing="0" class="tbl-01"> <!-- tujyo01 --> <tr> <th width="18%" nowrap >ログインID</th> <td>{{$o.login_id|kaz_td_nl2br}}</td> </tr><!-- code --> <tr> <th width="18%" nowrap >ログイン権限</th> <td> {{kaz_element elename='LOGIN_TYPE' value=$o.login_type idx=$o.c_elements_idx tdKbn='TD'}} </td> </tr><!-- tujyo01 --> <tr> <th width="18%" nowrap >パスワード</th> <td>{{$o.pwd1|nl2br}}</td> </tr><!-- code --> <tr> <th width="18%" nowrap >有効フラグ</th> <td> {{kaz_element elename='YUKO_FLG' value=$o.yuko_flg idx=$o.c_elements_idx tdKbn='TD'}} </td> </tr><!-- tujyo01 --> <tr> <th width="18%" nowrap >登録日時</th> <td>{{$o.logininfo_insert|kaz_td_nl2br}}</td> </tr><!-- tujyo01 --> <tr> <th width="18%" nowrap >更新日時</th> <td>{{$o.logininfo_update|kaz_td_nl2br}}</td> </tr> </table> <!-- tbl-01 end --> <p class="text-center"><a href="/samples/kazBase/kaz/admin/logininfo/logininfoa/upd?login_id={{$o.login_id}}"><img src="/samples/kazBase/kaz/admin/img/btn/btn_edit.gif" alt="変更" width="41" height="20" border="0" class="right5" /></a><a href="/samples/kazBase/kaz/admin/logininfo/logininfoa/listback"><img src="/samples/kazBase/kaz/admin/img/btn/btn_list.gif" alt="一覧に戻る" width="91" height="22" border="0" /></a></p> </div> <!-- main end --> <p class="clear"></p> </div> <!-- contents end --> <!-- #BeginLibraryItem "/Library/footer.lbi" --> {{include file='view/admin/footer.lbi'}} <!-- #EndLibraryItem --> </div> <!-- wrapper end --> {{include file='view/admin/analytics.lbi'}} </body> </html>
■logininfoaListView.html
{{* // ============================================================================ // Copyright (c) 2010 kaz PHP自動作成お助けTOOL. All rights reserved. // ============================================================================ // ログイン情報リスト 画面 *}} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>kaz PHP自動作成お助けTOOL サイト管理システム</title> <link rel="stylesheet" href="/samples/kazBase/kaz/admin/css/screen.css" type="text/css" media="screen,print" /> <script type="text/javascript" src="/samples/kazBase/kaz/admin/js/kaz.js"></script> <script type="text/JavaScript"><!-- function del( login_id ) { if ( window.confirm('{{if $o.c_elements_idx == '0'}}削除してもよろしいですか?{{else}}May I delete it?{{/if}}') ) { location.href='/samples/kazBase/kaz/admin/logininfo/logininfoa/deldo?' + 'login_id=' + login_id + '&{{kaz_token_html namespace='admin' base='base'}}'; } } function submitFrm2(sort_item_name, sort_order) { document.frm2.sort_item_name.value = sort_item_name; document.frm2.sort_order.value = sort_order; document.frm2.submit(); } function checkbox_clear(itemName){ for(i = 0; i < document.frm.elements.length; i++) { if(document.frm.elements[i].type == "checkbox") { if(document.frm.elements[i].name == itemName) { document.frm.elements[i].checked = false; } } } } function checkbox_set(itemName){ for(i = 0; i < document.frm.elements.length; i++) { if(document.frm.elements[i].type == "checkbox") { if(document.frm.elements[i].name == itemName) { document.frm.elements[i].checked = true; } } } } --></script> </head> <body> <!-- wrapper start --> <div id="wrapper"> <!-- #BeginLibraryItem "/Library/header.lbi" --> {{include file='view/admin/header.lbi'}} <!-- #EndLibraryItem --> <!-- contents start --> <div id="contents"> <!-- #BeginLibraryItem "/Library/menu.lbi" --> {{include file='view/admin/menu.lbi'}} <!-- #EndLibraryItem --> <!-- main start --> <div id="main"> <h1>{{if $o.c_elements_idx == '0'}}{{else}}Management {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}管理{{/if}}</h1> <h2>{{if $o.c_elements_idx == '0'}}{{else}}Search {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}検索{{/if}}</h2> <form name="frm" id="frm" method="post" action="/samples/kazBase/kaz/admin/logininfo/logininfoa/listdo"> <input type="text" name="dummy" style="display:none;" /> <!-- tbl-01 start --> <table border="0" cellpadding="0" cellspacing="0" class="tbl-01"> {{if $err.srch_topErrMessage != ""}} <tr> <th> </th> <td> {{$err.srch_topErrMessage|kaz_encErrTag}}</td> </tr> {{/if}} <!-- radio --> <tr> <th width="18%" nowrap >有効フラグ</th> <td class="{{if $err.srch_yuko_flg ==''}}none{{else}}error{{/if}}"> {{kaz_html_radio elename='YUKO_FLG' indata=$o.srch_yuko_flg name="srch_yuko_flg" dflt="全て" dfltEng="AllSelect" idx=$o.c_elements_idx su=10}} </td> </tr><!-- pulldown --> <tr> <th width="18%" nowrap >ログイン権限</th> <td class="{{if $err.srch_login_type ==''}}none{{else}}error{{/if}}"> {{kaz_html_select elename='LOGIN_TYPE' indata=$o.srch_login_type name="srch_login_type" dflt="全て" dfltEng="AllSelect" idx=$o.c_elements_idx}} {{$err.srch_login_type|kaz_encErrTag}}</td> </tr><!-- tujyo01 --> <tr> <th width="18%" nowrap ><label for="srch_login_id">ログインID</label></th> <td class="{{if $err.srch_login_id ==''}}none{{else}}error{{/if}}"><input name="srch_login_id" class="form-eng" id="srch_login_id" type="text" size="15" maxlength="10" value="{{$o.srch_login_id}}"> 半角英数字 完全一致 {{$err.srch_login_id|kaz_encErrTag}}</td> </tr> </table> <!-- tbl-01 end --> <p class="text-center"><a href="javascript:document.frm.submit();"><img src="/samples/kazBase/kaz/admin/img/btn/btn_search.gif" alt="検索" width="50" height="20" border="0" /></a></p> <h2>{{if $o.c_elements_idx == '0'}}{{else}}Modify {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}一覧{{/if}}</h2> </form> {{kaz_chk_error_assign var='err_flg' err=$err}} {{if $err_flg == false }}{{* // エラーなし *}} <p class="csv"><a href="/samples/kazBase/kaz/admin/logininfo/logininfoa/csv">{{if $o.c_elements_idx=='0'}}管理者用csv出力{{else}}AdminCsv{{/if}}</a> </p> <form name="frm2" method="post" action="/samples/kazBase/kaz/admin/logininfo/logininfoa/listupdwn"> <input type="text" name="dummy" style="display:none;" /> <input type="hidden" name="sort_item_name" value=""> <input type="hidden" name="sort_order" value=""> {{assign var="ascDesc" value='▲'}}{{*// 昇順*}} {{if $o.sort_order=='D'}} {{assign var="ascDesc" value='▼'}}{{*// 降順*}} {{/if}} </form> {{if "" != $o.del_do_chk_msg}} <p class="text-center">{{$o.del_do_chk_msg|kaz_encErrTag}}</p> {{/if}} <!-- tbl-02 start --> <table cellpadding="0" cellspacing="0" class="tbl-02"> <!-- titleTD --> <th nowrap >№</th><!-- titleTDupdown --> {{if 'login_type' == $o.sort_item_name}} <th nowrap ><a href="javascript:submitFrm2('login_type','{{$o.sort_order}}')">ログイン権限 {{$ascDesc}}</a></th> {{else}} <th nowrap ><a href="javascript:submitFrm2('login_type','')">ログイン権限</a></th> {{/if}}<!-- titleTDupdown --> {{if 'login_id' == $o.sort_item_name}} <th nowrap ><a href="javascript:submitFrm2('login_id','{{$o.sort_order}}')">ログインID {{$ascDesc}}</a></th> {{else}} <th nowrap ><a href="javascript:submitFrm2('login_id','')">ログインID</a></th> {{/if}}<!-- titleTDupdown --> {{if 'pwd1' == $o.sort_item_name}} <th nowrap ><a href="javascript:submitFrm2('pwd1','{{$o.sort_order}}')">パスワード {{$ascDesc}}</a></th> {{else}} <th nowrap ><a href="javascript:submitFrm2('pwd1','')">パスワード</a></th> {{/if}}<!-- titleTDupdown --> {{if 'yuko_flg' == $o.sort_item_name}} <th nowrap ><a href="javascript:submitFrm2('yuko_flg','{{$o.sort_order}}')">有効フラグ {{$ascDesc}}</a></th> {{else}} <th nowrap ><a href="javascript:submitFrm2('yuko_flg','')">有効フラグ</a></th> {{/if}}<!-- titleTD --> <th nowrap >操作</th> {{foreach from=$result|smarty:nodefaults item="vals" name="lineCount"}} <tr> <td align="center" bgcolor="#FFFFFF">{{$smarty.foreach.lineCount.iteration}}</td> <!-- code --> <td > {{kaz_element elename='LOGIN_TYPE' value=$vals.login_type idx=$o.c_elements_idx tdKbn='TD'}} </td><!-- tujyo01 --> <td >{{$vals.login_id|kaz_td_nl2br}}</td><!-- tujyo01 --> <td >{{$vals.pwd1|kaz_td_nl2br}}</td><!-- code --> <td > {{kaz_element elename='YUKO_FLG' value=$vals.yuko_flg idx=$o.c_elements_idx tdKbn='TD'}} </td> <td align="center" nowrap > {{*//■H20081114 start *}} {{if $vals.login_id == LOGIN_ID}} <img src="/samples/kazBase/kaz/admin/img/spacer.gif" width="76" height="20" border="0"> <img src="/samples/kazBase/kaz/admin/img/spacer.gif" width="41" height="20" border="0"> <img src="/samples/kazBase/kaz/admin/img/spacer.gif" width="41" height="20" border="0"> {{else}} <a href="/samples/kazBase/kaz/admin/logininfo/logininfoa/detail?login_id={{$vals.login_id}}"> <img src="/samples/kazBase/kaz/admin/img/btn/btn-detail.gif" alt="詳細" width="41" height="20" border="0"></a> <a href="/samples/kazBase/kaz/admin/logininfo/logininfoa/upd?login_id={{$vals.login_id}}"><img src="/samples/kazBase/kaz/admin/img/btn/btn_edit.gif" alt="変更" width="41" height="20" border="0"></a> <a href="JavaScript:del('{{$vals.login_id}}');"><img src="/samples/kazBase/kaz/admin/img/btn/btn_delete.gif" alt="削除" width="38" height="20" border="0"></a></td> {{/if}} {{*//■H20081114 end *}} </tr> {{/foreach}} {{if $smarty.foreach.lineCount.total == 0}} <tr> <td align="center" nowrap colspan="6">該当するデータがありませんでした。</td> </tr> {{/if}} </table> <!-- tbl-02 end --> <p class="text-center">{{$o.pager|smarty:nodefaults}}</p> {{/if}} </div> <!-- main end --> <p class="clear"></p> </div> <!-- contents end --> <!-- #BeginLibraryItem "/Library/footer.lbi" --> {{include file='view/admin/footer.lbi'}} <!-- #EndLibraryItem --> </div> <!-- wrapper end --> {{include file='view/admin/analytics.lbi'}} </body> </html>
■logininfoaReagisterView.html
{{* // ============================================================================ // Copyright (c) 2010 kaz PHP自動作成お助けTOOL. All rights reserved. // ============================================================================ // ログイン情報登録 画面 *}} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <title>kaz PHP自動作成お助けTOOL サイト管理システム</title> <link rel="stylesheet" href="/samples/kazBase/kaz/admin/css/screen.css" type="text/css" media="screen,print" /> <script type="text/javascript" src="/samples/kazBase/kaz/admin/js/kaz.js"></script> </head> <body> <!-- wrapper start --> <div id="wrapper"> <!-- #BeginLibraryItem "/Library/header.lbi" --> {{include file='view/admin/header.lbi'}} <!-- #EndLibraryItem --> <!-- contents start --> <div id="contents"> <!-- #BeginLibraryItem "/Library/menu.lbi" --> {{include file='view/admin/menu.lbi'}} <!-- #EndLibraryItem --> <!-- main start --> <div id="main"> <h1>{{if $o.c_elements_idx == '0'}}{{else}}Management {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}管理{{/if}}</h1> <h2>{{if $o.c_elements_idx == '0'}}{{else}}Registration {{/if}}ログイン情報{{if $o.c_elements_idx == '0'}}登録{{/if}}</h2> <!-- contents start --> <form name="frm" id="frm" method="post" action="/samples/kazBase/kaz/admin/logininfo/logininfoa/insdo" > <input type="text" name="dummy" style="display:none;" /> {{kaz_token_html namespace='admin'}} {{include file='view/admin/logininfo/logininfoaAmendRegisterViewInc.html'}} <p class="text-center"><a href="javascript:do_Submit_Clk1();"><img src="/samples/kazBase/kaz/admin/img/btn/button-sub.gif" alt="登録" width="61" height="22" border="0" class="right5" /></a><a href="/samples/kazBase/kaz/admin/logininfo/logininfoa/inss"><img src="/samples/kazBase/kaz/admin/img/btn/button-reset.gif" alt="リセット" width="84" height="22" border="0" /></a></p> </form> </div> <!-- main end --> <p class="clear"></p> </div> <!-- contents end --> <!-- #BeginLibraryItem "/Library/footer.lbi" --> {{include file='view/admin/footer.lbi'}} <!-- #EndLibraryItem --> </div> <!-- wrapper end --> {{include file='view/admin/analytics.lbi'}} </body> </html>
5/19 20:00-02:00 smartyでも、自分の都合いいように使えるではないか。ちょと、ほっとした。自作「テンプレート関数プラグイン」関数名の接頭子を”kaz”にした。smartyのverup時にぶつかるかもしれないので。
5/25 23:20-23:30『smarty_modifier_kaz_chk_error』をボツにして『smarty_function_kaz_chk_error_assign』を作ったので書き換えた。
6/2 『if( isset($params['indata']) == false){』を『if( array_key_exists('indata', $params) == false){』にした。
6/14 1:00-1:30 最新内容にした。自WEBにこのページのAタグを置いた。
6/15 23:00-23-00 チェックボックス用のsmartyプラグイン(smarty_function_kaz_html_checkbox、smarty_function_kaz_checkboxdispstr)を追加した。
8/9 10:00-10:30 http://d.hatena.ne.jp/kazpgm/20100809/1281315402の内容を反映した。
8/14 12:00-12:30 logininfoaAmendRegisterViewInc.html、logininfoaAmendView.html、logininfoaDetailView.html、logininfoaListView.html、logininfoaRegisterView.htmlを追記した。
8/14 17:30-17:40 AppSmartyPlugin.phpを修正。「function smarty_modifier_kaz_encErrTag($string)」の「return '<div class="font-s-red-form">' . $string . '</div>';」を「return '<div class="font-s-red-form">' . nl2br($string) . '<br />';」にした。”\n”を”<br/>”にしたいので。
2011/02/01 23:00-23:10 logininfoAをlogininfoaに修正した。これはhttp://d.hatena.ne.jp/kazpgm/20110131/1296487044による修正を反映したもの。
2011/03/07 4:00-4:10 http://d.hatena.ne.jp/kazpgm/20110307/1299523681(TOOL更新_Ver0.1Zd(次期バージョン)の管理者側もすべてアクションで切り分けるように修正した。(modeパラメータを使わないようにした。)など。)の内容を反映した。