バージョン選択

フォーラム

メニュー

オンライン状況

68 人のユーザが現在オンラインです。 (61 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 68
もっと...

サイト内検索

 > フロント機能 > 「会社名」「部署名」の追加

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ukai
投稿日時: 2010/4/2 15:36
対応状況: −−−
常連
登録日: 2009/5/29
居住地: 東京都
投稿: 54
Re: 「会社名」「部署名」の追加
こんにちは。

PCサイトのチェックならlfErrorCheckの変更で
いいと思います。

lfErrorCheck1
lfErrorCheck2
lfErrorCheck3
この三つのエラーチェック関数は、携帯サイトの会員登録用の
項目チェックです。

tae01415
投稿日時: 2010/4/3 15:12
対応状況: −−−
常連
登録日: 2010/3/31
居住地: 大阪
投稿: 32
Re: 「会社名」「部署名」の追加
ukaiさん

どうもありがとうございます。

//---- 入力エラーチェック
function lfErrorCheck($array)

$objErr->doFunc(array("会社名", 'company_name', MTEXT_LEN), array("EXIST_CHECK", "NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));
$objErr->doFunc(array("部署名", 'section_name', MTEXT_LEN), array("NO_SPTAB", "SPTAB_CHECK" ,"MAX_LENGTH_CHECK"));




利用者が使用する機能に関しては、無事「会社名」「部署名」の追加ができました!!


管理者用機能では、まだ、「会社名」「部署名」の追加ができていません。

以下のファイルを変更する必要があるであろうことはわかりました。

data/class/pages/admin/contents/LC_Page_Admin_Contents_Inquiry.php
data/class/pages/admin/customer/LC_Page_Admin_Customer.php
data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php
data/class/pages/admin/customer/LC_Page_Admin_Customer_SearchCustomer.php
data/class/pages/admin/order/LC_Page_Admin_Order.php
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
data/Smarty/templates/default/admin/customer/edit.tpl
data/Smarty/templates/default/admin/customer/edit_confirm.tpl
data/Smarty/templates/default/admin/customer/index.tpl
data/Smarty/templates/default/admin/customer/search_customer.tpl
data/Smarty/templates/default/admin/order/disp.tpl
data/Smarty/templates/default/admin/order/edit.tpl

今、挑戦中です。

わからないところがあれば、また質問させていただきます。

どうかよろしくお願いいたします。

tae01415
投稿日時: 2010/4/3 17:16
対応状況: −−−
常連
登録日: 2010/3/31
居住地: 大阪
投稿: 32
Re: 「会社名」「部署名」の追加
顧客マスタの検索から始めました。

条件検索結果を編集・更新することはできるようになりました。

●data/Smarty/templates/default/admin/customer/edit.tpl

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">フリガナ<span class="red"> *</span></td>
<td bgcolor="#ffffff" width="527"><span class="red12"><!--{$arrErr.kana01}--><!--{$arrErr.kana02}--></span><input type="text" name="kana01" value="<!--{$list_data.kana01|escape}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.kana01 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> />&nbsp;&nbsp;<input type="text" name="kana02" value="<!--{$list_data.kana02|escape}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" size="30" class="box30" <!--{if $arrErr.kana02 != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /></td>
</tr>
○この下に、以下を追加
<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">会社名<span class="red"> *</span></td>
<td bgcolor="#ffffff" width="527"><span class="red12"><!--{$arrErr.company_name}--></span><input type="text" name="company_name" value="<!--{$list_data.company_name|escape}-->" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" size="60" class="box60" <!--{if $arrErr.company_name != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /></td>
</tr>
<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">部署名</td>
<td bgcolor="#ffffff" width="527"><span class="red12"><!--{$arrErr.section_name}--></span><input type="text" name="section_name" value="<!--{$list_data.section_name|escape}-->" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" size="60" class="box60" <!--{if $arrErr.section_name != ""}--><!--{sfSetErrorStyle}--><!--{/if}--> /></td>
</tr>



●data/Smarty/templates/default/admin/customer/edit_confirm.tpl

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">フリガナ<span class="red"> *</span></td>
<td bgcolor="#ffffff" width="527"><!--{$arrForm.kana01|escape}--><!--{$arrForm.kana02|escape}--> 様</td>
</tr>
○この下に、以下を追加
<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">会社名<span class="red"> *</span></td>
<td bgcolor="#ffffff" width="527"><!--{$arrForm.company_name|escape}--></td>
</tr>
<tr class="fs12n">
<td bgcolor="#f2f1ec" width="190">部署名</td>
<td bgcolor="#ffffff" width="527"><!--{$arrForm.section_name|escape}--></td>
</tr>






その前段階の「検索条件設定」画面に、「会社名」「部署名」の欄を追加し、検索する方法がわかりません。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=3811&forum=2
を見てもわかりませんでした。

おそれいりますが、アドバイスをお願いいたします。

tae01415
投稿日時: 2010/4/3 18:19
対応状況: −−−
常連
登録日: 2010/3/31
居住地: 大阪
投稿: 32
Re: 「会社名」「部署名」の追加
すみません。自己解決しました。

●data/Smarty/templates/admin/customer/index.tpl
の変更でできました。

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">顧客名</td>
<td bgcolor="#ffffff" width="194"><!--{if $arrErr.name}--><span class="red12"><!--{$arrErr.name}--></span><br><!--{/if}--><input type="text" name="name" maxlength="<!--{$smarty.const.STEXT_LEN}-->" value="<!--{$arrForm.name|escape}-->" size="30" class="box30" <!--{if $arrErr.name}--><!--{sfSetErrorStyle}--><!--{/if}--> /></td>
<td bgcolor="#f2f1ec" width="110">顧客名(カナ)</td>
<td bgcolor="#ffffff" width="195"><!--{if $arrErr.kana}--><span class="red12"><!--{$arrErr.kana}--></span><br><!--{/if}--><input type="text" name="kana" maxlength="<!--{$smarty.const.STEXT_LEN}-->" value="<!--{$arrForm.kana|escape}-->" size="30" class="box30" <!--{if $arrErr.kana}--><!--{sfSetErrorStyle}--><!--{/if}--> /></td>
</tr>
○この下に、以下を追加

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">会社名</td>
<td bgcolor="#ffffff" width="499" colspan="3"><!--{if $arrErr.company_name}--><span class="red12"><!--{$arrErr.company_name}--></span><!--{/if}--><input type="text" name="company_name" maxlength="<!--{$smarty.const.STEXT_LEN}-->" value="<!--{$arrForm.company_name|escape}-->" size="60" class="box60" <!--{if $arrErr.company_name}--><!--{sfSetErrorStyle}--><!--{/if}-->/></td>
</tr>

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">部署名</td>
<td bgcolor="#ffffff" width="499" colspan="3"><!--{if $arrErr.section_name}--><span class="red12"><!--{$arrErr.section_name}--></span><!--{/if}--><input type="text" name="section_name" maxlength="<!--{$smarty.const.STEXT_LEN}-->" value="<!--{$arrForm.section_name|escape}-->" size="60" class="box60" <!--{if $arrErr.section_name}--><!--{sfSetErrorStyle}--><!--{/if}-->/></td>
</tr>



今度は、もうちょっと調べてから質問します。

どうぞよろしくお願いします。

tae01415
投稿日時: 2010/4/3 21:51
対応状況: −−−
常連
登録日: 2010/3/31
居住地: 大阪
投稿: 32
Re: 「会社名」「部署名」の追加
受注管理の変更内容

●data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
/* パラメータ情報の初期化 */
function lfInitParam() {

$this->objFormParam->addParam("顧客名カナ2", "order_kana02", STEXT_LEN, "KVCa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
○この下に、下記を追加

$this->objFormParam->addParam("会社名", "order_company_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
$this->objFormParam->addParam("部署名", "order_section_name", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));


●data/class/pages/admin/order/LC_Page_Admin_Order.php
case 'search_order_kana':
if(DB_TYPE == "pgsql"){
$where .= " AND order_kana01||order_kana02 ILIKE ?";
}elseif(DB_TYPE == "mysql"){
$where .= " AND concat(order_kana01,order_kana02) ILIKE ?";
}
$nonsp_val = mb_ereg_replace("[  ]+","",$val);
$arrval[] = "%$nonsp_val%";
break;
○この下に下記を追加


case 'search_order_company_name':
$where .= " AND order_company_name ILIKE ?";
$arrval[] = "%$val%";
break;
case 'search_order_section_name':
$where .= " AND order_section_name ILIKE ?";
$arrval[] = "%$val%";
break;



/* パラメータ情報の初期化 */
function lfInitParam()
以下の追加


$this->objFormParam->addParam("会社名", "search_order_company_name", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
$this->objFormParam->addParam("部署名", "search_order_section_name", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));









●data/Smarty/templates/default/admin/order/index.tpl

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">顧客名</td>
<td bgcolor="#ffffff" width="194">
<!--{assign var=key value="search_order_name"}-->
<span class="red12"><!--{$arrErr[$key]}--></span>
<input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|escape}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="30" class="box30" />
</td>
<td bgcolor="#f2f1ec" width="110">顧客名(カナ)</td>
<td bgcolor="#ffffff" width="195">
<!--{assign var=key value="search_order_kana"}-->
<span class="red12"><!--{$arrErr[$key]}--></span>
<input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|escape}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="30" class="box30" />
</td>
</tr>
○この下に、下記を追加

<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">会社名</td>
<td bgcolor="#ffffff" width="194">
<!--{assign var=key value="search_order_company_name"}-->
<span class="red12"><!--{$arrErr[$key]}--></span>
<input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|escape}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="30" class="box30" />
</td>
<td bgcolor="#f2f1ec" width="110">部署名</td>
<td bgcolor="#ffffff" width="195">
<!--{assign var=key value="search_order_section_name"}-->
<span class="red12"><!--{$arrErr[$key]}--></span>
<input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value|escape}-->" maxlength="<!--{$arrForm[$key].length}-->" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" size="30" class="box30" />
</td>
</tr>





●data/Smarty/templates/default/admin/order/edit.tpl

df.deliv_kana02.value = df.order_kana02.value;

df.deliv_company_name.value = df.order_company_name.value;
df.deliv_section_name.value = df.order_section_name.value;



<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">顧客名</td>
<td bgcolor="#ffffff" width="248">
<!--{assign var=key1 value="order_name01"}-->
<!--{assign var=key2 value="order_name02"}-->
<span class="red12"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></span>
<input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|escape}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" size="15" class="box15" />
<input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|escape}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" size="15" class="box15" />
</td>
<td bgcolor="#f2f1ec" width="110">顧客名(カナ)</td>
<td bgcolor="#ffffff" width="249">
<!--{assign var=key1 value="order_kana01"}-->
<!--{assign var=key2 value="order_kana02"}-->
<span class="red12"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></span>
<input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|escape}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" size="15" class="box15" />
<input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|escape}-->" maxlength="<!--{$arrForm[$key2].length}-->" style="<!--{$arrErr[$key2]|sfGetErrorColor}-->" size="15" class="box15" />
</td>
</tr>
○この下に、下記を追加


<tr class="fs12n">
<td bgcolor="#f2f1ec" width="110">会社名</td>
<td bgcolor="#ffffff" width="248">
<!--{assign var=key1 value="order_company_name"}-->
<span class="red12"><!--{$arrErr[$key1]}--></span>
<input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|escape}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" size="15" class="box15" />



</td>
<td bgcolor="#f2f1ec" width="110">部署名</td>
<td bgcolor="#ffffff" width="249">
<!--{assign var=key1 value="order_section_name"}-->
<span class="red12"><!--{$arrErr[$key1]}--></span>
<input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|escape}-->" maxlength="<!--{$arrForm[$key1].length}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->" size="15" class="box15" />
</td>
</tr>

●data/Smarty/templates/default/admin/order/disp.tpl

<tr class="fs12n">
<td bgcolor="#f0f0f0" >顧客名</td>
<td bgcolor="#ffffff" ><!--{$arrForm.order_name01.value|escape}--> <!--{$arrForm.order_name02.value|escape}--></td>
<td bgcolor="#f0f0f0" >顧客名(カナ)</td>
<td bgcolor="#ffffff" ><!--{$arrForm.order_kana01.value|escape}--> <!--{$arrForm.order_kana02.value|escape}--></td>
</tr>

○この下に、下記を追加

<tr class="fs12n">
<td bgcolor="#f0f0f0" >会社名</td>
<td bgcolor="#ffffff" ><!--{$arrForm.order_company_name.value|escape}--></td>
<td bgcolor="#f0f0f0" >部署名</td>
<td bgcolor="#ffffff" ><!--{$arrForm.order_section_name.value|escape}--></td>
</tr>











上記のように変更しました。

およそ正しいと思われるのですが、若干不安があります。

おそれいりますが、アドバイスをお願いいたします。



tae01415
投稿日時: 2010/4/4 9:56
対応状況: 開発中
常連
登録日: 2010/3/31
居住地: 大阪
投稿: 32
Re: 「会社名」「部署名」の追加
この変更も必要なようです。

●/data/class/SC_CustomerList.php

// 名前(カナ)
if (!isset($this->arrSql['kana'])) $this->arrSql['kana'] = "";
if ( strlen($this->arrSql['kana']) > 0 ) {
if(DB_TYPE == "pgsql"){
$this->setWhere("(kana01 || kana02 LIKE ?)");
}elseif(DB_TYPE == "mysql"){
$this->setWhere("concat(kana01,kana02) LIKE ?" );
}
$searchKana = $this->addSearchStr($this->arrSql['kana']);
$this->arrVal[] = mb_ereg_replace("[  ]+","",$searchKana);
}
○この下に、下記を追加する。



// 会社名
if (!isset($this->arrSql['company_name'])) $this->arrSql['company_name'] = "";
if ( strlen($this->arrSql['company_name']) > 0 ) {
$this->setWhere( "company_name Like ?" );
$this->arrVal[] = $this->arrSql['company_name'];
}

// 部署名
if (!isset($this->arrSql['section_name'])) $this->arrSql['section_name'] = "";
if ( strlen($this->arrSql['section_name']) > 0 ) {
$this->setWhere( "section_name Like ?" );
$this->arrVal[] = $this->arrSql['section_name'];
}


●data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.php

//---- 入力エラーチェック
function lfErrorCheck($array) {


$objErr->doFunc(array("会社名", 'company_name', MSTEXT_LEN), array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
$objErr->doFunc(array("部署名", 'section_name', MSTEXT_LEN), array("MAX_LENGTH_CHECK"));


ukai
投稿日時: 2010/4/5 11:26
対応状況: −−−
常連
登録日: 2009/5/29
居住地: 東京都
投稿: 54
Re: 「会社名」「部署名」の追加
こんにちは。

自分のほうでも以前同じようなカスタマイズを
したことがありました。

その時に顧客から要望があったのは
・サイト側・管理側の機能への会社名・部署名の項目追加
・お問合せページへの会社名・項目名追加
・別のお届け先への会社名・部署名の追加
・注文確認メールへの会社名・部署名の追加
などの要望があがりました。

もうtae01415さんは対応されているようなんですが、
一応ご参考までに…
tae01415
投稿日時: 2010/4/5 15:18
対応状況: −−−
常連
登録日: 2010/3/31
居住地: 大阪
投稿: 32
Re: 「会社名」「部署名」の追加
ukaiさん

ご助言、どうもありがとうございます。

>その時に顧客から要望があったのは
>・サイト側・管理側の機能への会社名・部署名の項目追加
>・お問合せページへの会社名・項目名追加
>・別のお届け先への会社名・部署名の追加
>・注文確認メールへの会社名・部署名の追加
>などの要望があがりました。


私が目標としているカスタマイズもほぼ同内容です。

EC-CUBEのソースを見るのも、カスタマイズするのもはじめてのため、悪戦苦闘しています。

また、質問させていただきますので、どうぞアドバイスよろしくお願いいたします。

tae01415
投稿日時: 2010/4/5 15:40
対応状況: −−−
常連
登録日: 2010/3/31
居住地: 大阪
投稿: 32
Re: 「会社名」「部署名」の追加
いつもお世話になります。

●/data/class/SC_CustomerList.php

// 名前(カナ)
if (!isset($this->arrSql['kana'])) $this->arrSql['kana'] = "";
if ( strlen($this->arrSql['kana']) > 0 ) {
if(DB_TYPE == "pgsql"){
$this->setWhere("(kana01 || kana02 LIKE ?)");
}elseif(DB_TYPE == "mysql"){
$this->setWhere("concat(kana01,kana02) LIKE ?" );
}
$searchKana = $this->addSearchStr($this->arrSql['kana']);
$this->arrVal[] = mb_ereg_replace("[  ]+","",$searchKana);
}
○この下に、下記を追加する。



// 会社名
if (!isset($this->arrSql['company_name'])) $this->arrSql['company_name'] = "";
if ( strlen($this->arrSql['company_name']) > 0 ) {
$this->setWhere( "company_name Like ?" );
$this->arrVal[] = $this->arrSql['company_name'];
}

// 部署名
if (!isset($this->arrSql['section_name'])) $this->arrSql['section_name'] = "";
if ( strlen($this->arrSql['section_name']) > 0 ) {
$this->setWhere( "section_name Like ?" );
$this->arrVal[] = $this->arrSql['section_name'];
}

と変更しているのですが、

1.「会社名」であいまい検索ができません。
2.「部署名」に正しい値を入力しても、検索されません。

SQL文が間違っているようなのですが、解決できません。

どうか、アドバイスをお願いいたします。
ukai
投稿日時: 2010/4/5 17:09
対応状況: −−−
常連
登録日: 2009/5/29
居住地: 東京都
投稿: 54
Re: 「会社名」「部署名」の追加
確証はないですが

引用:

tae01415さんは書きました:

●/data/class/SC_CustomerList.php

// 名前(カナ)
if (!isset($this->arrSql['kana'])) $this->arrSql['kana'] = "";
if ( strlen($this->arrSql['kana']) > 0 ) {
if(DB_TYPE == "pgsql"){
$this->setWhere("(kana01 || kana02 LIKE ?)");
}elseif(DB_TYPE == "mysql"){
$this->setWhere("concat(kana01,kana02) LIKE ?" );
}
$searchKana = $this->addSearchStr($this->arrSql['kana']);
$this->arrVal[] = mb_ereg_replace("[  ]+","",$searchKana);
}


と同じように、DB_TYPEがpgsqlの場合とmysqlの場合とで
Where句を分けてあげることが必要かと思います。

自分のほうでも同じ箇所をカスタマイズしています。
その部分以外はほとんどコード一緒ですが、あいまい検索も
できていますよ。
会社名は

if (!isset($this->arrSql['company_name'])) $this->arrSql['company_name'] = "";
     if ( strlen($this->arrSql['company_name']) > 0 ) {
       if(DB_TYPE == "pgsql"){
        $this->setWhere("(company_name LIKE ?)" );
       }elseif(DB_TYPE == "mysql"){
        $this->setWhere("concat(company_name) LIKE ?" );
       }

       $searchCompanyName = $this->addSearchStr($this->arrSql['company_name']);
       $this->arrVal[] = mb_ereg_replace("[  ]+","",$searchCompanyName);
     }

こんな感じで書いています。
« 1 (2) 3 4 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,591名です
総投稿数は110,139件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1656
8
red
1570
9
mcontact
1318
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.