バージョン選択

フォーラム

メニュー

オンライン状況

76 人のユーザが現在オンラインです。 (68 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 76
もっと...

サイト内検索

質問 > 管理機能 > OrderStateMachine を複製したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2023/9/20 18:12
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1656
OrderStateMachine を複製したい
EC-CUBE 4.2.2

注文フローを複製して買取フローを作成しています。
OrderStateMachine を複製したいのですが、コンストラクタインジェクションを追加する方法がわかりません。

app/config/eccube/services.yaml を参考に次のように実装してみたのですが、エラーになってしまいます。

わかる方、教えていただけますでしょうか。

app/Customize/Resource/config/services.yaml

services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: false
        bind:
          $_buyingStateMachine: '@state_machine.buying'


PHP Fatal error: Uncaught Symfony\Component\Yaml\Exception\ParseException: A colon cannot be used in an unquoted mapping value at line 62 (near " $_buyingStateMachine: '@state_machine.buying'"). in /vendor/symfony/yaml/Parser.php:811
mcontact
投稿日時: 2023/9/25 10:09
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1318
Re: OrderStateMachine を複製したい
このあたりも拡張していますか?

https://github.com/search?q=repo%3AEC-CUBE%2Fec-cube%20_orderStateMachine&type=code


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

h_tanaka
投稿日時: 2023/9/26 14:26
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1656
Re: OrderStateMachine を複製したい
mcontact さん

拡張というより、コンストラクタ含め、元の OrderStateMachine.php をまま複製して作成しています。

app/Customize/Service/BuyingStateMachine.php

<?php

namespace Customize\Service;

use Customize\Entity\Master\BuyingStatus;
use Customize\Entity\Buying;
use Customize\Repository\Master\BuyingStatusRepository;
use Eccube\Service\PurchaseFlow\Processor\StockReduceProcessor;
use Eccube\Service\PurchaseFlow\PurchaseContext;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Workflow\Event\Event;
use Symfony\Component\Workflow\StateMachine;

class BuyingStateMachine implements EventSubscriberInterface
{
    /**
     * @var StateMachine
     */
    private $machine;

    /**
     * @var BuyingStatusRepository
     */
    private $buyingStatusRepository;
    /**
     * @var StockReduceProcessor
     */
    private $stockReduceProcessor;

    public function __construct(StateMachine $_buyingStateMachine, BuyingStatusRepository $buyingStatusRepository, StockReduceProcessor $stockReduceProcessor)
    {
        $this->machine = $_buyingStateMachine;
        $this->buyingStatusRepository = $buyingStatusRepository;
        $this->stockReduceProcessor = $stockReduceProcessor;
    }

...

h_tanaka
投稿日時: 2023/9/26 15:09
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1656
Re: OrderStateMachine を複製したい
状況変わりました。

app/config/eccube/packages/order_state_machine.php
を複製して次のファイルを新規作成したところ、別のエラーが発生するようになりました。
app/Customize/Resource/config/packages/buying_state_machine.php

エラーの原因わかりますでしょうか?

PHP Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: A binding is configured for an argument named "$_buyingStateMachine" under "_defaults" in file "/app/Customize/Resource/config/services.yaml", but no corresponding argument has been found. It may be unused and should be removed, or it may have a typo. in /vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php:84
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,589名です
総投稿数は110,139件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1656
8
red
1570
9
mcontact
1318
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.