Я получаю эту ошибку:
Необработанное исключение «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, вы получите эту ошибку, если имя вашей папки отличается от имени модуля после Magento_ в module.xml
например: если имя вашего модуля Magento_MyGreatModule, имя вашей папки должно быть MyGreatModule .
Как уже говорилось в предыдущих ответах, это, скорее всего, связано с ошибкой в одном из ваших файлов конфигурации. Например, эта ошибка возникает, когда вы делаете следующее, не имея класса, который объявляет константу (обратите внимание на ::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>