管理画面での会員検索カスタマイズ(2.13)

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>

追加。