質問 > 管理機能 > Eccube\Service\PurchaseFlow\ItemCollectionを拡張したい |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
janjun |
投稿日時: 2022/12/12 18:18
対応状況: −−−
|
新米 登録日: 2022/12/12 居住地: 投稿: 3 |
Eccube\Service\PurchaseFlow\ItemCollectionを拡張したい ▼テンプレート
[EC-CUBE] EC-CUBE4.1.0 [PHP] バージョン 7.2.28 [データベース] PostgreSQL 9.6.19 [WEBサーバ] PHP 7.2.28 Development Server [導入プラグインの有無] 有 [カスタマイズの有無] 有 [質問内容] mtb_order_item_typeに新たなレコードを追加し、対象の明細区分IDが含まれる注文を行うと、受注編集の明細の並び順がバラバラに表示されるようになってしまいました。 ソースを確認したところ、Eccube\Service\PurchaseFlow\ItemCollectionのsort()に手を加える必要がありそうだというところまではわかりました。 (実際に手を加えて修正できることは確認しました。) そこで、元のItemCollectionをextendsしたCustomize\Service\PurchaseFlow\ItemCollectionを作成し、services.yamlに以下の記述を追記したのですが、エラーが発生しました。
引用: Cannot autowire service "Customize\Service\PurchaseFlow\ItemCollection.inner": argument "$Items" of method "Eccube\Service\PurchaseFlow\ItemCollection::__construct()" has no type-hint, you should configure its value explicitly. 参考にしたサイト: https://symfony.com/doc/4.4/service_container/service_decoration.html https://qiita.com/chihiro-adachi/items/b3bb70e6abbc0f824965 上記のservices.yamlの記述内容や拡張方法についてアドバイスをいただきたく思います。 どうぞよろしくお願いいたします。 |
yuh |
投稿日時: 2022/12/13 11:22
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: Eccube\Service\PurchaseFlow\ItemCollectionを拡張したい 下記のソースでエラー解消できると思いますが試していないので正常に動作するかはわかりません
|
janjun |
投稿日時: 2022/12/14 12:54
対応状況: −−−
|
新米 登録日: 2022/12/12 居住地: 投稿: 3 |
Re: Eccube\Service\PurchaseFlow\ItemCollectionを拡張したい ご返信ありがとうございます!
ご提示いただいた記述によりエラーが解消されました。 ただ、services.yamlの設定の意図としてはEccube\Service\PurchaseFlow\ItemCollectionをCustomize\Service\PurchaseFlow\ItemCollectionに差し替えたかったのですが、期待した動作とはなりませんでした。 services.yamlによるデコレーターパターンは、以下のようにDIを使わずnewした場合は適用されないのでしょうか。 Eccube\Entity\OrderItem.php
|
yuh |
投稿日時: 2022/12/14 14:39
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: Eccube\Service\PurchaseFlow\ItemCollectionを拡張したい new の場合は適用されないですね
|
janjun |
投稿日時: 2022/12/14 15:06
対応状況: −−−
|
新米 登録日: 2022/12/12 居住地: 投稿: 3 |
Re: Eccube\Service\PurchaseFlow\ItemCollectionを拡張したい newの場合は適用されないんですね。
とりあえずEccube\Entity\OrderItemのItemCollectionを直接差し替える形で対応しようかと思います。 ご回答ありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |