バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > classcategory_name1の設定個所が知りたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
dm2016
投稿日時: 2015/9/17 15:03
対応状況: −−−
新米
登録日: 2015/9/17
居住地:
投稿: 3
classcategory_name1の設定個所が知りたい
EC-CUBE:2.13.3

/product/detail.phpから/cart/index.phpに遷移する際、
classcategory_id1の内容をclasscategory_name1にセット
してる箇所を教えて頂けないでしょうか?

現在、/cart/index.tpl側で
<!--{$smarty.session|@debug_print_var}-->
した場合に、
classcategory_name1に常に固定の値がセットされて取得されています。

商品登録時に正しく規格IDは設定済みであり、
/product/detail.php側でも、
規格設定プルダウンは表示されています。

ちなみに、/smarty/class/Sc_CartSession.phpの、
public function adjustSessionProductsClass(&$arrProductsClass)
にて、
'classcategory_id1' => true,
して、
/product/detail.tplのform内で<input type="hidden" name="classcategory_name1" value="xx">や、
<input type="hidden" name="classcategory_id1" value="xx">
とした場合でも、
/cart?index.tplでの<!--{$smarty.session|@debug_print_var}-->では、class_category_name1とclasscategory_id1に、hiddenで設定してない固定値が格納されてます。

ほかの$item.productsClassは正常に渡っているのですが、
classcategory_name1だけ、正常な値が渡りません。

2.13系のバグなんでしょうか?
dm2016
投稿日時: 2015/9/17 17:31
対応状況: −−−
新米
登録日: 2015/9/17
居住地:
投稿: 3
Re: classcategory_name1の設定個所が知りたい
上の件の補足ですが、

detail.tplの23行目から記述されてる

function fnSetClassCategories

って、まったく動作してませんよね。
ここで、

$sele1="99"としたり、
eccube.setClassCategories($form, product_id, "99", $sele2, classcat_id2_selected);

としても、遷移時には完全無視されてます。

挙動を見た感じ、規格のプルダウンをクリックしたときに、
何かしら処理してるように見えますが、
.focus(), .click()、.change() .select();
どれも判定してないようで、本当に難解です。

実際はどこで処理してるのか、知りたいです。
tsuji
投稿日時: 2015/9/18 9:28
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: classcategory_name1の設定個所が知りたい
dm2016 様

カートイン時に渡している情報は、デフォルトでは商品規格IDと数量のみです。

なので、商品詳細ページからは規格名は引き継いでいませんので、
このページで操作しても変わりません。


カート内での表示データはSC_CartSession.phpにて生成されています。
たしか、getCartList関数で商品データを取得していたように記憶して
います。
規格名はデータベース内で登録されているものを取得しているという
ことになるかと思います。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

tsuji
投稿日時: 2015/9/18 9:36
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: classcategory_name1の設定個所が知りたい
dm2016 様

> function fnSetClassCategories

↑は動作しています。
動作していなければ、規格2が表示されないはずです。

これは、LC_Page_Products_Detail.phpでフォームロード時に規格の
セレクトボックスを生成するように設定を行っています。
lfMakeSelect関数で行っているものと思われます。


> 挙動を見た感じ、規格のプルダウンをクリックしたときに、
> 何かしら処理してるように見えますが、
> .focus(), .click()、.change() .select();
> どれも判定してないようで、本当に難解です。

html/js/eccube.jsの548行目から記述があります。
規格1の選択時(.change())での動作の用です。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

dm2016
投稿日時: 2015/9/24 17:04
対応状況: −−−
新米
登録日: 2015/9/17
居住地:
投稿: 3
Re: classcategory_name1の設定個所が知りたい
下記ご助言ありがとうございました。


引用:

tsujiさんは書きました:
dm2016 様

カートイン時に渡している情報は、デフォルトでは商品規格IDと数量のみです。

なので、商品詳細ページからは規格名は引き継いでいませんので、
このページで操作しても変わりません。


カート内での表示データはSC_CartSession.phpにて生成されています。
たしか、getCartList関数で商品データを取得していたように記憶して
います。
規格名はデータベース内で登録されているものを取得しているという
ことになるかと思います。


本来、SC_CartSession.phpを拡張してでも、規格名を渡すべきだったんですが、今回はとりあえず、商品登録時にサブ情報欄に規格情報を手動登録し、そこから値をセットする、というワークフローに変えました。

以後、SC_CartSession.phpを拡張するときに参考にします。

ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,973名です
総投稿数は110,019件です

投稿数ランキング

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