Classnames 'Void' di dalam vendor / magento /


9

Saya mencoba mengkompilasi ulang menggunakan

setup php bin / magento: di: compile

Tetapi ketika saya menjalankan perintah ini, saya mendapatkan:

Kesalahan fatal: Tidak dapat menggunakan 'Void' sebagai nama kelas karena dicadangkan di /var/www/html/magento/vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php on line 9

Saya menjalankan PHP 7.1.0-alpha.

Jawaban:



18

Berikut cara memperbaikinya:

  1. edit vendor/magento/module-sales/etc/webapi.xmlbaris 112:

    - <route url="/V1/invoices/:id/void" method="POST">
    + <route url="/V1/invoices/:id/voidInvoice" method="POST">
    
  2. edit vendor/magento/module-sales/Block/Adminhtml/Order/Invoice/View.phpbaris 242:

    - return $this->getUrl('sales/*/void', ['invoice_id' => $this->getInvoice()->getId()]);
    + return $this->getUrl('sales/*/voidInvoice', ['invoice_id' => $this->getInvoice()->getId()]);
    
  3. edit vendor/magento/module-sales/Block/Adminhtml/Order/Creditmemo/View.phpbaris 183:

    - return $this->getUrl('sales/*/void', ['creditmemo_id' => $this->getCreditmemo()->getId()]);
    + return $this->getUrl('sales/*/voidCreditmemo', ['creditmemo_id' => $this->getCreditmemo()->getId()]);
    
  4. edit vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.phpbaris 9:

    - class Void extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoice\View
    + class VoidInvoice extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoice\View
    
  5. edit vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.phpbaris 10:

    - class Void extends \Magento\Backend\App\Action
    + class VoidCreditmemo extends \Magento\Backend\App\Action
    
  6. ganti nama

    vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/Void.php

    untuk

    vendor/magento/module-sales/Controller/Adminhtml/Order/Creditmemo/VoidCreditmemo.php

  7. ganti nama

    vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/Void.php

    untuk

    vendor/magento/module-sales/Controller/Adminhtml/Order/Invoice/VoidInvoice.php

diambil dari https://mage2.pro/t/topic/2433/2


terima kasih kembali pak
Konstantin Gerasimov

di Magento Enterprise mv vendor / magento / module-reward / Model / Action / Creditmemo / Void.php vendor / magento / module-reward / Model / Action / Creditmemo / VoidCreditmemo.php di baris 8 ubah kelas Void ke kelas VoidCreditmemo
marcinsdance

@KonstantinGerasimov, Apakah ada patch yang tersedia untuk M230?
Ravi Dudhara

2

Alih-alih memodifikasi file vendor magento inti untuk menyelesaikan masalah, akan lebih masuk akal untuk menggunakan versi php yang tepat. Tergantung pada apa yang Anda gunakan, itu harus cukup mudah untuk mengatur konfigurasi BASH untuk lokasi bin php tertentu.


1

Ini bukan lagi masalah untuk Magento 2.2 - Magento 2.1 tidak kompatibel dengan PHP7.1.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.