質問 > 管理機能 > EC-CUBE3 帳票出力プラグインのカスタマイズ |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
foolish |
投稿日時: 2018/11/8 17:10
対応状況: −−−
|
半人前 登録日: 2018/3/30 居住地: 投稿: 17 |
EC-CUBE3 帳票出力プラグインのカスタマイズ ▼テンプレート
[EC-CUBE] EC-CUBE3.0.10 [PHP] 5.6.34 [データベース] MySQL 5.6.36 [WEBサーバ] Apache [導入プラグインの有無] 帳票出力プラグイン [現象] お世話になっております。 現在帳票出力プラグインのカスタマイズをしております。 実現したい事としては、商品マスタに登録されている商品を帳票に全て表示しておいて、注文があった商品はその商品名の横に注文数と小計を表示させたいです。 ソースとしては「app/Plugin/OrderPdf/Service/OrderPdfService.php」を主に書き換えています。 帳票の項目としては商品名、単価、個数、金額の4つがあり商品名と単価の項目にはそれぞれ登録されている商品名と単価を表示させることは出来たのですが、個数と金額のセルが空白になっています。 自分のイメージとしては、Order->getOrderDetails()から各エンティティを引っ張ってきてgetProductName()で注文商品名を取得した後に、商品マスタの全ての名前と比較して、帳票のその商品名が書かれた行に注文数と金額を出力する様なものですが、比較した後にその行を特定する方法が分かりません。 何かヒントでもいいのでお力を貸して頂けないでしょうか。 以上、よろしくお願いします。 |
minori |
投稿日時: 2018/11/9 16:47
対応状況: −−−
|
常連 登録日: 2017/10/12 居住地: 投稿: 40 |
Re: EC-CUBE3 帳票出力プラグインのカスタマイズ 方法としてはいくつかあると思いますが、
まず受注明細をループして各商品の数量を計算しておいて、 その後商品の情報をループするときに、 一致する商品があるかどうか判別してみてはどうでしょうか。 動作検証まではしていませんが、 実装としては以下のようなイメージです。
|
foolish |
投稿日時: 2018/11/10 14:50
対応状況: −−−
|
半人前 登録日: 2018/3/30 居住地: 投稿: 17 |
Re: EC-CUBE3 帳票出力プラグインのカスタマイズ minori様
ご回答頂きありがとうございます。 上記のアドバイスを頂き試してみたのですが、この方法だと商品名と単価の順番が変わってしまいませんか? 自分の説明不足で大変申し訳無いのですが、先に帳票に表示されている商品名と単価の順番は固定にしたいです。 イメージとしてはこんな感じで、注文があった商品のセルだけに個数と金額が表示されるという感じです。 https://d.kuku.lu/5586281b80 (画像のリンクが切れていたらすみません。) |
minori |
投稿日時: 2018/11/12 10:58
対応状況: −−−
|
常連 登録日: 2017/10/12 居住地: 投稿: 40 |
Re: EC-CUBE3 帳票出力プラグインのカスタマイズ 説明がわかりにくくて申し訳ありません。
商品名と単価の項目にはそれぞれ登録されている値が表示できた ということでしたので、それを表示するために商品情報をループしている 箇所があると思います。 ※おそらくrenderOrderDetailDataメソッドをカスタマイズされていると思います そのループ処理の中に、個数・金額の計算処理を入れて setFancyTableメソッドで一気に帳票に出力する想定でおりました。 簡略化していますが以下のようなイメージです。
もし上記修正では難しいようであれば、 ・商品取得時に同じソート順を設定して必ず同じ順番で取得出来る状態にしておく ・最初に商品情報を取得した際にキーになる値を配列に入れておき、その後単価・金額を出力する際に配列をループし受注情報と比較する などの対策が考えられると思います。 |
foolish |
投稿日時: 2018/11/14 9:45
対応状況: 解決済
|
半人前 登録日: 2018/3/30 居住地: 投稿: 17 |
Re: EC-CUBE3 帳票出力プラグインのカスタマイズ minori様
ご返信頂きありがとうございます。 頂いたアドバイスを元に、 商品マスタの並びを操作して配列に格納した後に、setFanceTableメソッドにてキーをインデックスから商品名に変更してみたところ、希望通りの実装が出来ました。 この度は相談に乗っていただき、ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |