Parameter konfigurasi "componentType" diperlukan untuk komponen "advanced_pricing_button". | Tingkatkan Magento 2.0.7 => 2.1.0

15

Setelah banyak masalah, saya berhasil memperbarui Magento 2.0.7 => Magento 2.1.0

Setelah memeriksa upgrade, saya melihat 2 masalah: 1. Frontend tidak menampilkan produk apa pun. 2. Ketika saya ingin mengedit produk di admin, saya mendapatkan kesalahan berikut:

1 exception(s):
Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component.

Exception #0 (Magento\Framework\Exception\LocalizedException): The configuration parameter "componentType" is a required for "advanced_pricing_button" component.
#0 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false)
#1 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false)
#2 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(360): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false)
#3 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(272): Magento\Framework\View\Element\UiComponentFactory->mergeMetadataItem(Array, Array, false)
#4 /home/tm/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(164): Magento\Framework\View\Element\UiComponentFactory->mergeMetadata('product_form', Array, false)
#5 /home/tm/public_html/vendor/magento/framework/View/Layout/Generator/UiComponent.php(124): Magento\Framework\View\Element\UiComponentFactory->create('product_form', NULL, Array)

#6 /home/tm/public_html/vendor/magento/framework/View/Layout/Generator/UiComponent.php(93): Magento\Framework\View\Layout\Generator\UiComponent->generateComponent(Object(Magento\Framework\View\Layout\Data\Structure), 'product_form', Array, Object(Magento\Framework\View\Layout\Interceptor))
#7 /home/tm/public_html/vendor/magento/framework/View/Layout/GeneratorPool.php(86): Magento\Framework\View\Layout\Generator\UiComponent->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context))
#8 /home/tm/public_html/vendor/magento/framework/View/Layout.php(327): Magento\Framework\View\Layout\GeneratorPool->process(Object(Magento\Framework\View\Layout\Reader\Context), Object(Magento\Framework\View\Layout\Generator\Context))
#9 /home/tm/public_html/vendor/magento/framework/View/Layout/Builder.php(129): Magento\Framework\View\Layout->generateElements()
#10 /home/tm/public_html/vendor/magento/framework/View/Page/Builder.php(55): Magento\Framework\View\Layout\Builder->generateLayoutBlocks()
#11 /home/tm/public_html/vendor/magento/framework/View/Layout/Builder.php(65): Magento\Framework\View\Page\Builder->generateLayoutBlocks()
#12 /home/tm/public_html/vendor/magento/framework/View/Layout.php(244): Magento\Framework\View\Layout\Builder->build()
#13 /home/tm/public_html/vendor/magento/framework/View/Layout.php(859): Magento\Framework\View\Layout->build()
#14 /home/tm/public_html/vendor/magento/module-backend/Model/View/Result/Page.php(59): Magento\Framework\View\Layout->getBlock('menu')
#15 /home/tm/public_html/var/generation/Magento/Backend/Model/View/Result/Page/Interceptor.php(24): Magento\Backend\Model\View\Result\Page->setActiveMenu('Magento_Catalog...')
#16 /home/tm/public_html/vendor/magento/module-catalog/Controller/Adminhtml/Product/Edit.php(69): Magento\Backend\Model\View\Result\Page\Interceptor->setActiveMenu('Magento_Catalog...')
#17 /home/tm/public_html/var/generation/Magento/Catalog/Controller/Adminhtml/Product/Edit/Interceptor.php(24): Magento\Catalog\Controller\Adminhtml\Product\Edit->execute()
#18 /home/tm/public_html/vendor/magento/framework/App/Action/Action.php(102): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->execute()
#19 /home/tm/public_html/vendor/magento/module-backend/App/AbstractAction.php(226): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#20 /home/tm/public_html/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http))
#21 /home/tm/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callParent('dispatch', Array)
#22 /home/tm/public_html/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Catalog...', 'dispatch', Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor), Array, 'adminAuthentica...')
#23 /home/tm/public_html/vendor/magento/module-backend/App/Action/Plugin/Authentication.php(143): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#24 /home/tm/public_html/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#25 /home/tm/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Catalog...', 'dispatch', Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor), Array, 'adminMassaction...')
#26 /home/tm/public_html/vendor/magento/module-backend/App/Action/Plugin/MassactionKey.php(33): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#27 /home/tm/public_html/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Backend\App\Action\Plugin\MassactionKey->aroundDispatch(Object(Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#28 /home/tm/public_html/var/generation/Magento/Catalog/Controller/Adminhtml/Product/Edit/Interceptor.php(39): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callPlugins('dispatch', Array, Array)
#29 /home/tm/public_html/vendor/magento/framework/App/FrontController.php(55): Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#30 /home/tm/public_html/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#31 /home/tm/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#32 /home/tm/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')
#33 /home/tm/public_html/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#34 /home/tm/public_html/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#35 /home/tm/public_html/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#36 /home/tm/public_html/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#37 /home/tm/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#38 /home/tm/public_html/pub/index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#39 {main}

Apakah ada yang memperbaiki masalah ini?

Ruud van Engelenhoven
sumber
Saya mendapat masalah yang sama setelah memperbarui dari Magento 2.0.7 ke Magento 2.1. Lihat masalah di Github untuk informasi lebih lanjut: github.com/magento/magento2/issues/5236
Tjitse
Tolong jangan tambahkan "terima kasih" sebagai jawaban. Setelah Anda memiliki reputasi yang cukup , Anda akan dapat memilih pertanyaan dan jawaban yang menurut Anda sangat membantu. - Dari Ulasan
Jai

Jawaban:

11

Punya masalah yang sama ketika bermigrasi dari Magento 2.0.7 ke 2.1.0, PERANG berikut dijelaskan di https://github.com/magento/magento2/issues/5236 memperbaiki masalah bagi saya:

Cari vendor/magento/module-configurable-product/Ui/DataProvider/Product/Form/Modifier/ConfigurablePrice.phpkode berikut:

$meta[$groupCode]['children'][self::CODE_GROUP_PRICE] = array_replace_recursive(
    $meta[$groupCode]['children'][self::CODE_GROUP_PRICE],
    [
        'children' => [
            self::$advancedPricingButton => [
                'arguments' => [
                    'data' => [
                        'config' => $visibilityConfig,
                    ],
                ],
            ],
        ],
    ]
);

Dan ganti baris berikut:

'config' => $visibilityConfig,

Dengan:

'config' => ['componentType'=>'container',$visibilityConfig],

Jika Anda tidak melihat bidang apa pun yang terisi dalam katalog produk Magento Anda, BE maka periksa beberapa produk lainnya. Dalam kasus saya beberapa produk akan menampilkan kesalahan berikut:

Pemberitahuan: Offset yang tidak ditentukan: 118 di / ............./vendor/magento/module-eav/Model/ResourceModel/ReadHandler.php on line 166

Ini terjadi karena tabel catalog_product_entity_varcharberisi atribut yang tidak ada di tabel lain, dalam kasus saya masalahnya hilang dengan hanya menghapus entri dengan yang attribute_idtercantum dalam kesalahan di atas:

mysql> delete from catalog_product_entity_varchar where attribute_id=XXXXXXX;
Query OK, 7890 rows affected (0.11 sec)

Pastikan Anda mencadangkan basis data Anda sebelum mulai meretas!

Michael
sumber
Jika Anda tidak melihat bidang apa pun yang terisi dalam katalog produk Magento Anda, BE atau dapatkan kesalahan berikut, ikuti langkah-langkah di bawah ini:
Michael
Setelah mengubah kode itu memberi saya kesalahan Class Magento\Catalog\Model\Product\Attribute\Backend\Media does not exist. Ada solusi untuk ini?
Malaiselvan
Maaf, tidak tahu ...
Michael
Aku cinta kamu ? Cukup banyak.
Yonn Trimoreau
Apakah ini sudah diperbaiki sekarang di magento 2?
Stevie G