質問 > 管理機能 > 受注ステータス追加のカスタマイズでエラー |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
miz |
投稿日時: 2020/5/10 19:37
対応状況: 解決済
|
新米 登録日: 2010/1/22 居住地: 投稿: 7 |
Re: 受注ステータス追加のカスタマイズでエラー ディレクトリー内にバックアップを置かず、phpファイルを
order_state_machine.php のみにしたところ、解決いたしました。 ファイル名に関係なくphpファイルがすべて読み込まれるとは 思っていませんでした。 無事に考えていたとおりにステータス遷移をカスタマイズできました。 ありがとうございました。 |
468 |
投稿日時: 2020/5/9 22:41
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 受注ステータス追加のカスタマイズでエラー 投稿いただいた手順と同じ操作を行った所、
エラーが再現できました。 多分、該当ディレクトリ内のphpファイルが全て読み込まれるのだと思いますので バックアップファイルはサーバ上に置かず、ローカルにダウンロードしてサーバ上のファイルは重複しないようにする必要があるのではないでしょうか?
|
miz |
投稿日時: 2020/5/9 11:39
対応状況: −−−
|
新米 登録日: 2010/1/22 居住地: 投稿: 7 |
Re: 受注ステータス追加のカスタマイズでエラー ご返答ありがとうございます。
はい。 // aaa と加えて保存しただけでも発生します。 エディタはTera Padで確認しましたがBOMなしで保存されています。 試すために元ファイルをコピーして、オリジナルのファイル名を変更し、 order_state_machine.php → order_state_machine_org.php コピーした方のファイルを編集せずファイル名をorder_state_machine.phpに変更。 そのあと、管理画面からキャッシュを削除して、サイトにアクセスするとエラーが起きます。 ファイルは変更してなく、エディタで編集してなくてもエラーが出る状態です。 詳細を確認したところどちらも2,470Byteでファイルサイズも同じでした。 ファイルのプロパティは「作成日時」以外の違いはありませんでした。 コピーしたファイルを削除し、元のファイルに戻すと、 キャッシュクリアしても問題はおきません。不思議です。 キャッシュをクリアするところでなにか問題が発生しているように思ったため、 キャッシュクリアをコマンドから行ったところ #php bin/console cache:clear --no-warmup In StateMachineValidator.php line 40: A transition from a place/state must have an unique name. Multiple transitions named "pay" from place/state "1" whe re found on StateMachine "order". ここですでに同じエラーを吐いていました。 このエラーが出るとどこにアクセスしてもエラーとなります。 キャッシュ内容とorder_state_machine_org.phpの関係でなにかあるのでしょうか? |
468 |
投稿日時: 2020/5/8 22:23
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 受注ステータス追加のカスタマイズでエラー >order_state_machine.phpにコメント行を追加しただけでも同様のエラーが起こってしまいます。
これはPHPのソース部分を書き換えずに 最終行に //aaaaa と書き加えて保存しただけでエラーが発生するという事でしょうか? (ファイルを開いて保存するだけでもエラーが発生しますか?) もし、上記のような現象なのであれば エディタに問題があるという可能性はありませんか? BOM付きテキストファイルで保存される等、見えない所で何かが変わっているという事はありませんか?
|
miz |
投稿日時: 2020/5/8 18:57
対応状況: −−−
|
新米 登録日: 2010/1/22 居住地: 投稿: 7 |
Re: 受注ステータス追加のカスタマイズでエラー ご返答ありがとうございます。
'transitions'内はなにも変更しなくても同じエラーが発生してしまいます。 'pay' => [ 'from' => (string) Status::NEW, 'to' => (string) Status::PAID, ], なので初期値のままです。 |
kishikawa |
投稿日時: 2020/5/8 17:23
対応状況: −−−
|
一人前 登録日: 2018/12/20 居住地: 松戸 投稿: 89 |
Re: 受注ステータス追加のカスタマイズでエラー miz様
エラーメッセージに
とあり、予測なのですが、 'transitions'内の'pay'の'from'に同じステータスが複数回登場していることはありませんでしょうか?
|
miz |
投稿日時: 2020/5/8 12:46
対応状況: −−−
|
新米 登録日: 2010/1/22 居住地: 投稿: 7 |
受注ステータス追加のカスタマイズでエラー [EC-CUBE] 4.0.3
[OS] XAMPP (Windows10) [PHP] PHP 7.2.9 [データベース] MySQL 10.1.35-MariaDB [WEBサーバ] Apache/2.4.34 (Win32) [ブラウザ] Firefox,Edge [導入プラグインの有無] 有 商品問い合わせ for EC-CUBE4 ソーシャルボタンを追加 商品詳細ページレイアウトプラグインなど ※プラグインなしでも症状を確認済み [カスタマイズの有無] デザインのCSSなど [現象] 受注ステータス追加のカスタマイズを以下のサイトを参考に試しています。 EC-CUBE4で受注ステータスを追加する https://qiita.com/chihiro-adachi/items/8d4988e784603d9517af ですがapp/config/eccube/packages/order_state_machine.php を変更すると、Fatal errorが起きてしまいます。 原因を探っていて気づいたのですが、order_state_machine.phpにコメント行を追加しただけでも同様のエラーが起こってしまいます。 つまりorder_state_machine.phpの変更を全く受け付けてくれない状況です。 エラーの内容は以下です。 引用: Fatal error: Uncaught Symfony\Component\Workflow\Exception\InvalidDefinitionException: A transition from a place/state must have an unique name. Multiple transitions named "pay" from place/state "1" where found on StateMachine "order". in C:\xampp\htdocs\eccube403\vendor\symfony\workflow\Validator\StateMachineValidator.php:40 Stack trace: #0 C:\xampp\htdocs\eccube403\vendor\symfony\workflow\DependencyInjection\ValidateWorkflowsPass.php(47): Symfony\Component\Workflow\Validator\StateMachineValidator->validate(Object(Symfony\Component\Workflow\Definition), 'order') #1 C:\xampp\htdocs\eccube403\vendor\symfony\dependency-injection\Compiler\Compiler.php(141): Symfony\Component\Workflow\DependencyInjection\ValidateWorkflowsPass->process(Object(Symfony\Component\DependencyInjection\ContainerBuilder)) #2 C:\xampp\htdocs\eccube403\vendor\symfony\dependency-injection\ContainerBuilder.php(790): Symfony\Component\DependencyInjection\Compiler\Compiler->compile(Object(Symfony\Component\DependencyInjection\ContainerBuilder)) #3 C:\xamp in C:\xampp\htdocs\eccube403\vendor\symfony\workflow\Validator\StateMachineValidator.php on line 40 ローカルのテスト環境で症状が起きたので、環境の問題かと思い、別サーバー上(Xserver)の環境でも試しましたが同じでした。 またローカルでプラグインを入れてない環境でも試しましたが、同様でした。 エラーの原因がよくわからないため、ご教授お願いいたします。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |