質問 > フロント機能 > 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様のアドバイス、そしてご教授のおかげでございます。 本当に感謝しております。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |