バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > LC_Page_Entry.phpの生年月日生成文をLC_Page_Admin_Products_Product.phpで使用したい。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
bio
投稿日時: 2014/6/23 4:11
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
LC_Page_Entry.phpの生年月日生成文をLC_Page_Admin_Products_Product.phpで使用したい。
お世話になっております。どなたか教えていただけませんでしょうか。
商品登録の際にその登録する商品に有効期限を設定し、有効期限が切れた商品は“おすすめ商品”などのブロックから抽出されないように設定するために使用する有効期限(period)を作成しようと思い、

product.tplでYear、month、dayのプルダウン作成し、confirm.tplでそれぞれの設定をし、dbのカラムに (Year、month、day、period)を設定した後に、

LC_Page_Entry.phpから生年月日を生成するための記述を参考に
LC_Page_Admin_Products_Product.php内の case 'complete': に以下のような設定を致しました。(パラメーター情報の初期化もそれぞれ設定)

// DBへデータ登録
$product_id = $this->lfMakeSqlVal($objFormParam);
〜〜〜〜〜〜〜〜〜
function lfMakeSqlVal(&$objFormParam) {
$objFormParam = new SC_FormParam_Ex();
$arrForm = $objFormParam->getHashArray();
$arrResults = $objFormParam->getDbArray();

$arrResults['period'] = SC_Utils_Ex::sfGetTimestamp ($arrForm['year'], $arrForm['month'], $arrForm['day']);

return $arrResults;
}

商品登録をした時点でdbのYear、month、dayには正確な数字が挿入されますが(lfRegistProductでの設定がたぶん正しいため)、periodには(上述の記述にたぶん問題があるため)nullが入り、2015-1-31のような期待している有効期限が挿入されません。エラーは出ません。

どこに問題があるかどなたかお分かりになりませんでしょうか。

[EC-CUBE] 2.12.5
[レンタルサーバ] ファーストEC-Cubeサーバ-
[OS] Linux
[PHP] PHP 5.2.17
[データベース] MySQL 5.0.67
[WEBサーバ] apache2.2.x
tsuji
投稿日時: 2014/6/23 9:57
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: LC_Page_Entry.phpの生年月日生成文をLC_Page_Admin_Products_Product.phpで使用したい。
bio 様

periodはdtb_products、dtb_products_classのどちらに
追加されたのでしょうか?


それから、下記のチェックをしてみてはいかがでしょうか?
※下記はdtb_productsにperiodが追加されたと仮定したチェックです
・$arrResults['period']に正しい値が入っているか
・lfRegistProductに処理が入ってきているか
・lfRegistProductの$sqlvalにperiodが入っているか
・periodの値が正しいか

bio
投稿日時: 2014/6/23 17:06
対応状況: −−−
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: LC_Page_Entry.phpの生年月日生成文をLC_Page_Admin_Products_Product.phpで使用したい。
Tsuji様
アドバイスを頂きまして感謝致します。

Period、Year、month、dayは全てdtb_productsに作成しました。

$arrResults['period']に正しい値が入っているか
申し訳ございませんが、以上はどうチェックすればよろしいでしょうか。


・lfRegistProductに処理が入ってきているか
・lfRegistProductの$sqlvalにperiodが入っているか
・periodの値が正しいか

$arrResultsのgetDbArrayでdbに挿入する作業をしていると考えておりましたので(LC_Page_Entry.phpではその様な作りになっている)lfRegistProduct内でperiodにデータを挿入する記述はしていませんでしたが、間違いでしょうか。
tsuji
投稿日時: 2014/6/24 9:26
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: LC_Page_Entry.phpの生年月日生成文をLC_Page_Admin_Products_Product.phpで使用したい。
bio様

> $arrResults['period']に正しい値が入っているか
申し訳ございませんが、以上はどうチェックすればよろしいでしょうか。

$arrResults['period']にデータを設定した後、
print_r($arrResults['period'])やvar_dump($arrResults['period'])をしてexitすると、
データが入っていれば、画面上に中身が表示されると思います。

> $arrResultsのgetDbArrayでdbに挿入する作業をしていると考えておりましたので(LC_Page_Entry.phpではその様な作りになっている)lfRegistProduct内でperiodにデータを挿入する記述はしていませんでしたが、間違いでしょうか。

getDbArrayは簡単にいうとフォームで入力したデータを配列
にしているものなので、直接DBにアクセスしているわけでは
ないようです。
LC_Page_Entry.phpでもgetDbArrayで作成した配列を最終的に
SC_Helper_Customer.phpのsfEditCustomerDataに渡して
DBに対してinsertないしupdateをしています。

DBに商品を追加する処理についてはlfRegistProductで行っています。
また、dtb_productsに登録するデータ項目についてはlfRegistProduct
で改めて設定し直しています。そこにperiodを追加していないので
あれば、登録されないと思います。
bio
投稿日時: 2014/6/26 12:59
対応状況: 解決済
一人前
登録日: 2013/3/13
居住地:
投稿: 81
Re: LC_Page_Entry.phpの生年月日生成文をLC_Page_Admin_Products_Product.phpで使用したい。
Tsuji様

お世話になっております。

できました。

見事に有効期限日が生成され、おすすめブロックの抽出文でもその有効期限日が機能しています。

全てはtsuji様のアドバイス、そしてご教授のおかげでございます。
本当に感謝しております。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,802名です
総投稿数は109,972件です

投稿数ランキング

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