Tên không đổi được mong đợi. lỗi


12

Tôi nhận được lỗi này:

Uncaught ngoại lệ 'UnlimitedArgumentException' với thông báo 'Tên liên tục được mong đợi.

Trong khi chạy php bin/magento setup:upgradetrong dòng lệnh.

tôi đã nhận được lỗi http: // awesomesc Muff.com/0535zi4648 .

Câu trả lời:


15

Tôi nghĩ rằng một số vấn đề trong thư mục vv của bạn . kiểm tra tất cả các tập tin xml . Tên không đổi nên được CAPITALviết bằng chữ. bất kỳ hằng số của bạn vẫn còn trong các chữ cái nhỏ. kiểm tra và sửa nó Hy vọng điều này sẽ giải quyết vấn đề của bạn.


12

Để giúp bạn gỡ lỗi những gì đang diễn ra, tôi khuyên bạn nên tạm thời chỉnh sửa tệp

vendor/magento/framework/Data/Argument/Interpreter/Constant.php

Từ đây...

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']);
}

Do đó, bạn sẽ được thông báo về lớp / hằng số nào gây ra lỗi cho bạn:

nhập mô tả hình ảnh ở đây

Hy vọng nó có thể giúp đỡ người khác ;-) Xem ya


11

Trong trường hợp khi tiện ích mở rộng của bạn nằm trong thư mục ứng dụng / mã, bạn sẽ gặp lỗi này nếu tên thư mục của bạn khác với tên mô-đun sau Magento_ trong module.xml

ví dụ: nếu tên mô-đun của bạn là Magento_MyGreatModule tên thư mục của bạn phải là MyGreatModule .


cảm ơn bạn ! một ví dụ tuyệt vời khác về thông báo lỗi gây hiểu lầm ...
medmek

Câu trả lời này làm việc cho tôi là tốt.
Arfeen

Cảm ơn bạn! Bị va vào cái này sau khi tôi đổi tên mô-đun của mình.
Giel Berkers

3

Giống như đã nêu trong các câu trả lời trước, điều này rất có thể là do một số lỗi trong một trong các tệp cấu hình của bạn. Chẳng hạn, lỗi này được kích hoạt khi bạn thực hiện các thao tác sau mà không có lớp khai báo hằng số (chú ý ::CODEkhai báo):

<!-- 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> 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.