質問 > 管理機能 > 商品詳細情報の追加。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
hunterman |
投稿日時: 2010/4/18 5:37
対応状況: −−−
|
一人前 登録日: 2010/3/14 居住地: 投稿: 78 |
商品詳細情報の追加。 [EC-CUBE] V 2.4.3
[レンタルサーバ] infitoPLUS [OS] Windows XP [PHP] Version 5.2.9-2 [データベース] Mysql v 5.0.83 [ブラウザ] Firfox バージョン3.6.2 このコミュニティーサイトや他のサイトサイトを参考に商品詳細ページの価格やポイントの箇所にサイズの項目を作成しようとしています。既に出てきている問題なのですが、一向に解決致しません。 何度もトライしているのですが、解決に至らないので、どなたか問題点を教えて下さい。 http://blog.livedoor.jp/muratti07/archives/1295972.html 上記を参考に商品詳細画面にサイズの項目を設置する。 1.始めにMyadminにてdtb_products>noteの下にsize2を作成。 フィールド;size2 種別;TEXT 照合順序;utf8_general_ci ヌルnull;null デフォルト値2;NULL 2.data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php にて function viewToSubQuery() { $sql['vw_products_allclass_detail'] =<<< __EOS__ ( SELECT dtb_products.product_id, dtb_products.name, dtb_products.deliv_fee, dtb_products.sale_limit, dtb_products.sale_unlimited, dtb_products.rank, dtb_products.status, dtb_products.product_flag, dtb_products.point_rate, dtb_products.comment1, dtb_products.comment2, dtb_products.comment3, dtb_products.comment4, dtb_products.comment5, dtb_products.comment6, dtb_products.note, dtb_products.size2, ←追加 "vw_products_nonclass" => ' (SELECT T1.product_id, T1.name, T1.deliv_fee, T1.sale_limit, T1.sale_unlimited, T1.category_id, T1.rank, T1.status, T1.product_flag, T1.point_rate, T1.comment1, T1.comment2, T1.comment3, T1.comment4, T1.comment5, T1.comment6, T1.size2, ←追加 3.data/Smarty/templates/admin/products/product.tpl にて備考欄(SHOP専用)の下辺りに <tr> <td bgcolor="#f2f1ec" width="160" class="fs12n">サイズ</td> <td bgcolor="#ffffff" width="557" class="fs10n"> <span class="red12"><!--{$arrErr.size2}--></span> <input type="text" name="size2" value="<!--{$arrForm.size2|escape}-->" maxlength="<!--{$smarty.const.STEXT_LEN}-->" style="<!--{if $arrErr.size2 != ""}-->background-color: <!--{$smarty.const.ERR_COLOR}--><!--{/if}-->" size="60" class="box60" /><span class="red"> (上限<!--{$smarty.const.STEXT_LEN}-->文字)</span> </td> </tr> 追加。 4.data/Smarty/templates/admin/products/confirm.tpl に同じく備考欄(SHOP専用)した辺りに。 <tr> <td bgcolor="#f2f1ec" width="160" class="fs12n">サイズ</td> <td bgcolor="#ffffff" width="557" class="fs12n"> <!--{$arrForm.size2|escape}--> </td> </tr> を追記。 5.data/class/pages/admin/products/LC_Page_Admin_Products_Product.php にて $checkArray = array("name", "status", "product_flag", "main_list_comment", "main_comment", "point_rate", "deliv_fee", "comment1", "comment2", "comment3", "comment4", "comment5", "comment6", "main_list_comment", "sale_limit", "sale_unlimited", "deliv_date_id", "note", "size2"); $arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray); // INSERTする値を作成する。 $sqlval['name'] = $arrList['name']; $sqlval['status'] = $arrList['status']; $sqlval['product_flag'] = $arrList['product_flag']; $sqlval['main_list_comment'] = $arrList['main_list_comment']; $sqlval['main_comment'] = $arrList['main_comment']; $sqlval['point_rate'] = $arrList['point_rate']; $sqlval['deliv_fee'] = $arrList['deliv_fee']; $sqlval['comment1'] = $arrList['comment1']; $sqlval['comment2'] = $arrList['comment2']; $sqlval['comment3'] = $arrList['comment3']; $sqlval['comment4'] = $arrList['comment4']; $sqlval['comment5'] = $arrList['comment5']; $sqlval['comment6'] = $arrList['comment6']; $sqlval['main_list_comment'] = $arrList['main_list_comment']; $sqlval['sale_limit'] = $arrList['sale_limit']; $sqlval['sale_unlimited'] = $arrList['sale_unlimited']; $sqlval['deliv_date_id'] = $arrList['deliv_date_id']; $sqlval['note'] = $arrList['note']; $sqlval['size2'] = $arrList['size2']; ←*追加* $sqlval['update_date'] = "Now()"; $sqlval['creator_id'] = $_SESSION['member_id']; $arrRet = $this->objUpFile->getDBFileList(); $sqlval = array_merge($sqlval, $arrRet); 6.管理画面>商品詳細画面にて、ポイントのした辺りに <!--{$arrForm.size|escape}-->を追加。 以上のような手順を踏んだのですが、商品詳細画面には表示されません。 商品登録画面と確認画面では確認出来るのですが、登録すると反映されません。いったい何が原因でしょうか?困り果てています。 どなたか教えて下さい。お願いします。 |
tonton |
投稿日時: 2010/4/18 15:48
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 商品詳細情報の追加。 こんにちは。
ちょうど、先日同じようなことをやったところなので、簡単にコードチェックしてみました。 既に書かれているコードの細かいところ(例えば点が抜けてたとかそういうのの)チェックはしていませんが、ざくっとみたところ、 1)OK 2)OK 3)OK 4)OK 5)data/class/pages/admin/products/LC_Page_Admin_Products_Product.php function lfErrorCheck($array) { にも、下記入力チェックあったほうがいいかも。 $objErr->doFunc(array("サイズ", "name", STEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));//チェック項目は任意で他の項目の指定値をを参照してください。 6)LC_Page_Admin_Products_UploadCSV.phpまたはLC_Page_Admin_Products_UploadCSV_Ex.phpで、 $this->objFormParam->addParam("サイズ", "size2", STEXT_LEN, "KVa", array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));//CSV出力するなら。(というか、商品データをCSVでアップロードしたり、バックアップするなら必要。) 7)detail.tplにも表示のコード必要ですね。 divのクラス名などは、他の項目を参照して、ご自身のコード環境に合わせてください。(下記は参考コードです) <!--{if $arrProduct.size2 != ""}--> <div class="クラス名"><!--{$arrProduct.size2|escape}--></div> <!--{/if}--> こんなところでしょうか。 (致命的な、というか表面に出力されないのは、detail.tplに表示のコードが書かれていないからでは?)ああ、なるほど。管理画面から編集されているのですね。じゃあ、ここは問題点ではないですね、すみません。 外していたら、ごめんなさい。 |
hunterman |
投稿日時: 2010/4/19 3:54
対応状況: 解決済
|
一人前 登録日: 2010/3/14 居住地: 投稿: 78 |
Re: 商品詳細情報の追加。 tontonさん、本当にありがとうございます。
いろんなスレを見ていて、tontonさんはいつも親切の対応していると感じていました。この度も丁寧にご指導いただき感謝いたします。 >こんなところでしょうか。 (致命的な、というか表面に出力されないのは、detail.tplに表示のコードが書かれていないからでは?)ああ、なるほど。管理画面から編集されているのですね。じゃあ、ここは問題点ではないですね、すみません。 外していたら、ごめんなさい。 とんでもないです、ありがとうございます。 まさにご指摘の通りでした。アドバイス通り、detail.tplにご指摘の記述をしましたところ表示されました。 何度も試してだめだった箇所なので、とてもうれしいです。 又何か解決出来ない問題など発生しました折にはアドバイスなどいただけたら幸いです。 ありがとうございました。 |
tonton |
投稿日時: 2010/4/19 15:33
対応状況: −−−
|
仙人 登録日: 2008/8/14 居住地: 投稿: 437 |
Re: 商品詳細情報の追加。 hunterman様
いえいえ、お役に立ててよかったです。 私も、PHPもEC-CUBEも全然わからないところから、こちらでお世話になって、変な質問をしたり(今もしてますが;)いっぱい失敗してきて、、、なので、こちらで、何か助けていただいたら、その分他の方に自分がわかることをHELPして帰ろう、と思っています。 huntermanさんが、少しずつ詳しくなったら、また、ここで、どなたかに手を貸して差し上げてください。(^^)// 自分が躓いたときに、本当に不安で困ってきたので、私は、そうしていただけるのが一番うれしいです。 ではでは。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |