管理画面での会員検索カスタマイズ(2.13) eccube 会社名 検索条件設定 追加
[EC-CUBE]管理画面での会員検索カスタマイズ(2.13) eccube 会社名 検索条件設定 追加
[EC-CUBE]管理画面での会員検索カスタマイズ(2.13)eccube 会社名 検索条件設定 追加
A)検索条件設定で検索条件を非表示にする(職業での検索を非表示にする場合)
1.data/class/helper/SC_Helper_Customer.phpの565行目以降、会員検索パラメーター(管理画面用)内の
$objFormParam->addParam('職業', 'search_job', INT_LEN, 'n', array('MAX_LENGTH_CHECK'));
をコメントアウトする
2.data/class/SC_CustomerList.php内
if (!isset($this->arrSql['search_job'])) $this->arrSql['search_job'] = '';
から始まる職業による検索部分をコメントアウトする。
非表示にする項目によっては、この後のエラーチェック部分も非表示にする。
3.data/Smarty/templates/admin/adminparts/form_customer_search.php内が実際に表示される部分なので
<!--{if false}--> <!--{/if}-->
でコメントアウトする。
B)検索条件設定に検索条件を追加する(会社名での検索を追加する場合)
1.data/class/helper/SC_Helper_Customer.phpの565行目以降、会員検索パラメーター(管理画面用)内に
$objFormParam->addParam('会社名', 'search_company_name', STEXT_LEN, 'aKV', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
を追加する。
2.data/class/SC_CustomerList.php内に
if (!isset($this->arrSql['search_company_name'])) $this->arrSql['search_company_name'] = ''; if (strlen($this->arrSql['search_company_name']) > 0) { $this->setWhere('company_name LIKE ?'); $searchCompany = $this->addSearchStr($this->arrSql['search_company_name']); $this->arrVal[] = preg_replace('/[ ]+/u','',$searchCompany); }
を追加する。最後のreplaceは正直いらないと思うけれども、部分一致用に名前での検索を参考にしたのでこうなった。
3.data/Smarty/templates/admin/adminparts/form_customer_search.phpに
<tr> <th>会社名</th> <td colspan="3"> <!--{assign var=key value="search_company_name"}--> <!--{if $arrErr[$key]}--><span class="attention"><!--{$arrErr[$key]}--></span><!--{/if}--> <input type="text" name="<!--{$key}-->" maxlength="<!--{$arrForm[$key].length}-->" value="<!--{$arrForm[$key].value|h}-->" size="30" class="box30" <!--{if $arrErr[$key]}--><!--{sfSetErrorStyle}--><!--{/if}--> /> </td> </tr>
追加。