私はこのエラーを受け取っています:
キャッチされない例外 'InvalidArgumentException'とメッセージ '定数名が必要です。
php bin/magento setup:upgrade
コマンドラインで実行中。
このhttp://awesomescreenshot.com/0535zi4648エラーが発生しました。
私はこのエラーを受け取っています:
キャッチされない例外 'InvalidArgumentException'とメッセージ '定数名が必要です。
php bin/magento setup:upgrade
コマンドラインで実行中。
このhttp://awesomescreenshot.com/0535zi4648エラーが発生しました。
回答:
何が起こっているのかをデバッグするのを助けるために、ファイルを一時的に編集することをお勧めします
vendor/magento/framework/Data/Argument/Interpreter/Constant.php
これから...
public function evaluate(array $data) {
if(!isset($data['value']) || !defined($data['value'])) {
throw new \InvalidArgumentException('Constant name is expected.');
}
return constant($data['value']);
}
これに...
public function evaluate(array $data) {
if(!isset($data['value']) || !defined($data['value'])) {
print_r($data);exit; // <<<<<<<<<<<<
throw new \InvalidArgumentException('Constant name is expected.');
}
return constant($data['value']);
}
これにより、どのクラス/定数がエラーの原因であるかが通知されます。
それが他の誰かを助けることを願っています;-)
拡張機能がapp / codeフォルダーにある場合、フォルダー名がmodule.xmlのMagento_の後のモジュール名と異なると、このエラーが発生します。
例えば:あなたのモジュール名がある場合Magento_MyGreatModuleフォルダ名がなければなりませんMyGreatModule。
以前の回答ですでに述べたように、これはおそらく構成ファイルの1つにエラーがあるためです。たとえば、このエラーは、定数を宣言するクラス(::CODE
宣言に注意)なしで次のことを行うと発生します。
<!-- etc/di.xml -->
<virtualType name="ExamplePaymentGatewayConfig" type="Magento\Payment\Gateway\Config\Config">
<arguments>
<argument name="methodCode" xsi:type="const">\Company\Example\Model\Ui\ConfigProvider::CODE</argument>
</arguments>
</virtualType>