バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 2系にて独自に追加したテーブルへのDB登録ができません

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
eccube_admin
投稿日時: 2024/10/30 18:06
対応状況: −−−
管理人
登録日: 2006/9/6
居住地:
投稿: 159
Re: 2系にて独自に追加したテーブルへのDB登録ができません
qvq5sk6sn2さん

EC-CUBE運営チームでございます。

本コミュニティは、皆で質問をしあい、解決してく場でございます。
初心者の方、玄人の方含めて、安心して投稿していただける場を目指しております。

他者への中傷に思われる投稿はお辞めいただくよう、お願いいたします。

今後、同様の投稿をされるようでしたらアカウント削除等処置をとらせていただきますので、ご了承くださいませ。

是非、お互いが助け合い、高めあえるコミュニティ運営にご協力くださいませ。
ゲスト
投稿日時: 2024/10/4 12:50
対応状況: −−−
Re: 2系にて独自に追加したテーブルへのDB登録ができません
こういう開発してて確認デバッグしないような人、投稿しないで欲しいわか
yuh
投稿日時: 2024/9/30 12:07
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1893
Re: 2系にて独自に追加したテーブルへのDB登録ができません
<!--{foreach key=key item=item from=$arrForm}-->
<!--{if $key == 'product_genre'}-->
<!--{foreach item=genreVal from=$item}-->
<input type="hidden" name="<!--{$key}-->[]" value="<!--{$genreVal|h}-->" />
<!--{/foreach}-->
<!--{/if}-->
<!--{if $key == 'product_status'}-->
<!--{foreach item=statusVal from=$item}-->
<input type="hidden" name="<!--{$key}-->[]" value="<!--{$statusVal|h}-->" />
<!--{/foreach}-->
<!--{elseif $key == 'arrCategoryId'}-->
<!--{* nop *}-->
<!--{elseif $key == 'arrFile'}-->
<!--{* nop *}-->
<!--{else}-->
<input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" />
<!--{/if}-->
<!--{/foreach}-->



多分ここの
<!--{if $key == 'product_genre'}-->

この後の

<!--{if $key == 'product_status'}-->

この部分でproduct_genreの場合も実行されて

<input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" />



この部分が実行されるので、

<input type="hidden" name="product_genre" value="">
が入って上書きされて空になるかと思います。

修正するのであれば



<!--{/if}-->
<!--{if $key == 'product_status'}-->



この部分を

<!--{elseif $key == 'product_status'}-->

とかに変更すればできると思います。


----------------


http://ec-lab.net/

yuh
投稿日時: 2024/9/29 18:00
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1893
Re: 2系にて独自に追加したテーブルへのDB登録ができません
confirm.tplのformの値をhiddenで定義している部分に追加し忘れていると思います。


----------------


http://ec-lab.net/

r_yamada
投稿日時: 2024/9/29 15:19
対応状況: −−−
常連
登録日: 2024/9/2
居住地:
投稿: 33
2系にて独自に追加したテーブルへのDB登録ができません
[EC-CUBE]2.17、新規インストール
[レンタルサーバ]ローカル環境
[OS]windows10
[PHP]7.4.33
[データベース]mysql8.0
[WEBサーバ]DockerDesktop4.33.1(Ubuntu)
[ブラウザ]chrome
[導入プラグインの有無]なし
[カスタマイズの有無]なし
[現象]
お世話になっております。
現在2系の商品登録画面にて「ジャンル」というチェックボックスの独自項目(値はmtb_genre)を追加し、その選択内容を商品idと紐づけてdtb_product_genreへ登録したいのですが、商品登録確認画面(confirm.tpl)画面での登録実行後にジャンルの選択内容がマスタへ登録されません。
confirm.tplでは$arrForm.product_genreにチェックした項目が表示されているため、値を取得できていると思うのですが、その後のaction処理で$arrList['product_genre']には値がstring(0) ""となっており取得することができていません。
こちらconfirm画面から登録までの間に何か処理が足りない部分があるのか確認しているのですが特定できず、解決方法につきまして、何かご存じないでしょうか?


・画面イメージ
(商品登録画面)
商品ステータス □NEW □残りわずか □ポイント2倍 □オススメ □限定品
ジャンル □ジャンル1 □ジャンル2

(商品登録確認画面)
商品ステータス 残りわずか ポイント2倍
商品ジャンル ジャンル1 ジャンル2

(商品登録実行後画面)
登録しました。

・data\Smarty\templates\admin\products\product.tpl
<tr>
<th>商品ステータス</th>
<td>
<!--{html_checkboxes name="product_status" options=$arrSTATUS selected=$arrForm.product_status separator='&nbsp;&nbsp;'}-->
</td>
</tr>
<tr>
<th>ジャンル</th>
<td>
<!--{html_checkboxes name="product_genre" options=$arrGENRE selected=$arrForm.product_genre separator='&nbsp;&nbsp;'}-->
</td>
</tr>
・data\Smarty\templates\admin\products\confirm.tpl
<!--{foreach key=key item=item from=$arrForm}-->
<!--{if $key == 'product_genre'}-->
<!--{foreach item=genreVal from=$item}-->
<input type="hidden" name="<!--{$key}-->[]" value="<!--{$genreVal|h}-->" />
<!--{/foreach}-->
<!--{/if}-->
<!--{if $key == 'product_status'}-->
<!--{foreach item=statusVal from=$item}-->
<input type="hidden" name="<!--{$key}-->[]" value="<!--{$statusVal|h}-->" />
<!--{/foreach}-->
<!--{elseif $key == 'arrCategoryId'}-->
<!--{* nop *}-->
<!--{elseif $key == 'arrFile'}-->
<!--{* nop *}-->
<!--{else}-->
<input type="hidden" name="<!--{$key}-->" value="<!--{$item|h}-->" />
<!--{/if}-->
<!--{/foreach}-->
(中略)
<tr>
<th>商品ジャンル</th>
<td>
<!--{foreach from=$arrForm.product_genre item=genre}-->
<!--{if $genre != ""}-->
<!--{$arrGENRE[$genre]}-->
<!--{/if}-->
<!--{/foreach}-->
</td>
</tr>
<tr>
<th>商品ステータス</th>
<td>
<!--{foreach from=$arrForm.product_status item=status}-->
<!--{if $status != ""}-->
<img src="<!--{$TPL_URLPATH_PC}--><!--{$arrSTATUS_IMAGE[$status]}-->">
<!--{/if}-->
<!--{/foreach}-->
</td>
</tr>

・data\class\pages\admin\products\LC_Page_Admin_Products_Product.php
var_dump($arrList['product_genre']);

// 商品ジャンル設定
$objProduct = new SC_Product_Ex();
$objProduct->setProductGenre($product_id, $arrList['product_genre']);

// 商品ステータス設定
$objProduct->setProductStatus($product_id, $arrList['product_status']);


["product_genre"]=> string(0) "" ["product_status"]=> array(1) { [0]=> string(1) "2" }
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は95,949名です
総投稿数は111,638件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2325
5
umebius
2085
6
yuh
1893
7
h_tanaka
1850
8
red
1574
9
mcontact
1535
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
804
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.