バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > オプション表示追加の方法

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tsz
投稿日時: 2012/8/20 15:20
対応状況: −−−
半人前
登録日: 2012/5/23
居住地:
投稿: 15
オプション表示追加の方法
[EC-CUBE] 2.3.3
[レンタルサーバ] plesk
[OS] Linux 2.6.18/win7
[PHP] 5..1.6
[データベース] MySQL 5.0.45

商品一覧で選択された商品ごとに違うオプション(7〜8種類程度)を商品詳細画面(detail)で表示させたいと思っています。
現在 どの商品を選んでも一つの決まったオプション表示(7種類)しかされないようにカスタマイズされています。
オプション表示するかしないかは管理画面の商品管理(product.php)で商品ごとに選択させる仕組みになっています。
オプションはDBのmtb_optionテーブルに格納しているようです。
そこで私はmtb_option_newというテーブルを別に作り

LC_Page_products_Detail_Ex.phpで
function init() {
parent::init();
$objQuery = new SC_Query();
// マスターデータ(mtb_option)呼び出し
$code_sql = "SELECT * FROM mtb_option ORDER BY id";
$this->arrOption = $objQuery->getall($code_sql);


$code_sql_2 ="SELECT * FROM mtb_option_new ORDER BY id";
$arrOption2 = $objQuery ->getall($code_sql_2);

と追加し

user_data/packages/mighty/detail.tplで
<!--{if $not_check==3}-->
<dl>
<dt>オプション</dt>
<dd class="op">
<!--{foreach from=$arrOption2 item=i key=k}-->
<!--{if $k is even}-->
<input type="checkbox" name="option" value="<!--{$i.id}-->" onclick="changePrice()">&nbsp;<!--{$i.name}-->&nbsp;&nbsp;&nbsp;&nbsp;
<input type="hidden" name="hidden_option<!--{$i.id}-->" value="">
<!--{else}-->
<input type="checkbox" name="option" value="<!--{$i.id}-->" onclick="changePrice()">&nbsp;<!--{$i.name}-->&nbsp;&nbsp;&nbsp;&nbsp;<br />
<input type="hidden" name="hidden_option<!--{$i.id}-->" value="">
<!--{/if}-->
<input type="hidden" name="hidden_option_price" value="<!--{$i.cost}-->">
<!--{/foreach}-->
<br /><font color="#FF0000" size="2" face="ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, MS Pゴシック, MS PGothic, sans-serif">【オプション料】は別途お見積りとなります。</font>

<br />※<font size="2" face="ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, MS Pゴシック, MS PGothic, sans-serif">オプション料金は<a href="<!--{$smarty.const.USER_URL}-->service.php">こちらから</a>ご確認頂けます。</font>
</dd>
</dl>
<!--{/if}--><!--{* end of if not_check==3 *}-->
と追記しました。
(not_check=0がオプション有(既存)not_check=1と2はなしの設定になっています。)

DBのdtb_productsテーブルでnot_check=3という商品をいくつか設け表示させてみましたが商品詳細ページではnot_check=3の商品のオプションは全く表示されませんでした。

何か他にも直さなければならないところがあるのはなんとなくわかるのですが、いきづまってしまっています。
 
また管理画面の方もLC_Page_Admin_Products_Pdoduct.phpやLC_Page_Admin_Order_Edit.phpやLC_Page_Admin_Products.php等どこをどのように変更してよいかもとまどっています。

ECCUBEの仕組みもPHPもまだまだ勉強不足なもので自分なりにいろいろ調べながらやっているのですが・・・

どなたかご教授いただけますよう宜しくお願い致します。






ymiyamura
投稿日時: 2013/1/21 9:21
対応状況: −−−
常連
登録日: 2012/5/11
居住地:
投稿: 36
Re: オプション表示追加の方法
既に解決されたかもしれませんが、気になった点がありましたので、コメントさせていただきます。



$code_sql_2 ="SELECT * FROM mtb_option_new ORDER BY id";
$arrOption2 = $objQuery ->getall($code_sql_2);

の部分の2行目は、Smarty側で操作するには下記のようにする必要があるかと思います。

$code_sql_2 ="SELECT * FROM mtb_option_new ORDER BY id";
$this->arrOption2 = $objQuery ->getall($code_sql_2);


以上、御参考となれば幸いです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1304
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.