質問 > その他 > price02を割り算する方法を教えて下さい |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
9-24 |
投稿日時: 2018/9/25 15:28
対応状況: 解決済
|
新米 登録日: 2018/6/28 居住地: 投稿: 6 |
Re: price02を割り算する方法を教えて下さい シロハチ様、度々の回答ありがとうございます。
また、連休を挟んでしまっていた為、返信が遅くなり大変失礼をしてしまい、申し訳ありませんでした。 twigのフックポイントを使うんですね! twigのフックポイントはデザイン等を変える為にあるのだと思っていました。 目からウロコです。 詳細での処理も含めて、考え方が全然違ったのかと気づくことが出来ました。 教えて貰った方法で頑張ってみたいと思います。 本当にありがとうございました! |
468 |
投稿日時: 2018/9/22 7:03
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: price02を割り算する方法を教えて下さい 私の場合、商品一覧のテンプレートフックポイントを使います。
event.yml Product/list.twig: - [hogehoge, NORMAL] public function hogehoge(TemplateEvent $event) { $parameters = $event->getParameters(); $Products= $parameters['pagination']; //ここで$Productsをループして加工 $parameters['pagination'] = $Products; } データに変更を加える処理を実装する際、 Entityにデータをセットする所を変更しようとするとエラーが出た時に原因を調査するのが大変だったので、 抽出後のEntityに手を加えるようにしています。
|
9-24 |
投稿日時: 2018/9/20 15:11
対応状況: −−−
|
新米 登録日: 2018/6/28 居住地: 投稿: 6 |
Re: price02を割り算する方法を教えて下さい シロハチ様、ご回答ありがとうございます。
いつもシロハチ様の記事を見て参考にさせて頂いています! すみません、また質問になってしまうのですが、一覧表示画面において、 public function onProductIndexSearch(EventArgs $event) { $qb = $event->getArgument('qb'); //ここからProductClass->setPrice02IncTax(), ProductClass->getPrice02IncTax()を使うのはどのようにしたら良いのでしょうか? } public function onProductDetailInitialize(EventArgs $event)の場合でしたら、$Product = $event->getArgument('Product');からやって何かしら出来そうに思えるのですが、一覧画面での使い方を、出来ましたら教えて頂けたら、と思います。 ご指摘の通り、有償のプラグインを購入して勉強するというのも考えてはいるのですが、もう少し頑張ってみてダメだったら・・・と思っています・・・。 どうか、よろしくお願いします |
468 |
投稿日時: 2018/9/20 12:00
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: price02を割り算する方法を教えて下さい DBから取り出すところで金額を変更する方法でも出来なくはないと思いますが、
取り出したエンティティのProductClass->setPrice02IncTax(), ProductClass->getPrice02IncTax()を利用したほうが良いのではないでしょうか? 購入まで含めた処理の全てで価格を変更する場合、 様々なフックポイントを利用する必要があり、ここで説明できるような内容には収まらないと思います。 https://www.ec-cube.net/products/detail.php?product_id=1244 上記のように一時的に商品価格を変更して、購入まで処理できるプラグインもあります。 有償にはなりますが、こういったプラグインを参考にすれば、 ご要望の機能は実現できるのではないでしょうか? (このプラグインを利用するのも一つの方法かと思います)
|
9-24 |
投稿日時: 2018/9/19 13:44
対応状況: −−−
|
新米 登録日: 2018/6/28 居住地: 投稿: 6 |
price02を割り算する方法を教えて下さい ▼テンプレート
[EC-CUBE] 3,0.16 新規インストール [レンタルサーバ] ローカル [OS] WIN10 [PHP] 7.2.4 [データベース] mysql 5.0.12 [WEBサーバ] Apache 2.4.33 [ブラウザ] Edge [導入プラグインの有無] ありません [カスタマイズの有無] 初めてのカスタマイズです [現象] 価格を変更するプラグインを作ろうと思っています 例えば、価格を全て2で割るとして、「・・・Event.php」に商品一覧表示のページ用に public function onProductIndexSearch(EventArgs $event) { $qb = $event->getArgument('qb'); dump($qb); } とするとdumpの内容は見れています。ですが、 public function onProductIndexSearch(EventArgs $event) { $qb = $event->getArgument('qb'); $qb->addSelect('pc.price02/2 as pc.price02'); } とするとエラーになります。 どのようにすれば価格を割り算することが出来るでしょうか? また、このようなやり方でフックポイントを追加していって詳細ページでも行い、購入まで続けたいのですが、この方法は間違っているでしょうか? また、以前のスレッドを見させて貰って、 ProductClassRepository.phpを拡張してprice02を元から変更出来たらとも考えたのですが、 $qb = $this->createQueryBuilder('pc') ->select('pc.price02/2 as pc.price02'); return $qb; (上記のSQLが合っているか分かりませんが)と考えてみても、これをどんなメソッド名にして何処でどう活用すれば良いのか分かりません。 考え方自体が間違っているでしょうか?どのような方法を取れば実現出来るか、ご教授、どうかよろしくお願いします |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |