質問 > フロント機能 > 拡張したカート情報がセッションに保存されない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
h_tanaka |
投稿日時: 2017/3/14 17:03
対応状況: 解決済
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
拡張したカート情報がセッションに保存されない [EC-CUBE] EC-CUBE3.0.13
[レンタルサーバ] localhost [OS] macOS Sierra 10.12.3 [PHP] PHP5.6.10 [データベース] MySQL5.5.42 [WEBサーバ] MAMP3.5 [ブラウザ] GoogleChrome 56.0.2924.87 (64-bit) [カスタマイズ] ハードコーディング [現象] 独自にカート情報を拡張したのですが、セッションに保存されません。 セッションに保存するためになにか特別な処理が必要なのでしょうか? src/Eccube/Service/CartService.php function setProductQuantity() にて$this->cartに情報を追加しました。 商品をカートに入れた直後の処理でセッションに保存されていることを確認しました。 src/Eccube/Controller/ProductController.php
リダイレクト後のカートページにてセッション内のカートに拡張情報が保存されておらずnullになっていることを確認しました。 src/Eccube/Controller/CartController.php
|
umebius |
投稿日時: 2017/3/14 17:06
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 拡張したカート情報がセッションに保存されない どのように拡張されたのでしょうか?
CartServiceやCartItemなどをきちんとカスタマイズすれば保存されますよ。
|
h_tanaka |
投稿日時: 2017/3/14 17:45
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: 拡張したカート情報がセッションに保存されない umebius様、ご返信ありがとうございます。
全部書き出すと長文になりますので、省略して書きます。 カート追加フォーム src/Eccube/Form/Type/AddCartType.php
カートコントローラー:カートに追加 src/Eccube/Controller/ProductController.php
カートサービス src/Eccube/Service/CartService.php
カートアイテムエンティティ src/Eccube/Entity/CartItem.php
カートコントローラー:表示 src/Eccube/Controller/CartController.php
カート表示 src/Eccube/Resource/template/default/Cart/index.twig
|
aoki.u |
投稿日時: 2017/3/14 17:56
対応状況: −−−
|
常連 登録日: 2017/2/19 居住地: 投稿: 53 |
Re: 拡張したカート情報がセッションに保存されない 想像するに、CartItemの__sleepメソッドで追加情報を保持していないのでは?
|
h_tanaka |
投稿日時: 2017/3/14 18:09
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: 拡張したカート情報がセッションに保存されない aoki.u様
まさにそのとおりでした! CartItemの__sleep()に追加することで解決しました。 この__sleep()ってなにものなんでしょうか...? |
aoki.u |
投稿日時: 2017/3/14 18:14
対応状況: −−−
|
常連 登録日: 2017/2/19 居住地: 投稿: 53 |
Re: 拡張したカート情報がセッションに保存されない CartItemはシリアライズされてセッションに保存されますので。 http://ir2.php.net/manual/ja/oop4.magic-functions.php
|
h_tanaka |
投稿日時: 2017/3/14 18:21
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: 拡張したカート情報がセッションに保存されない うーん、、まったく理解できないです。
決まり文句と思って実装します。 ありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |