Помилка: "Об'єкт DOMDocument повинен бути створений". Додавання / редагування атрибутів продукту


16

Щоразу, коли я редагую або додаю атрибут продукту, я отримую помилку із заголовком

"Під час обробки вашого запиту сталася помилка"

і висловлювання тіла

"Object DOMDocument should be created."

The error log reads :
" a:4:{i:0;s:37:"Object DOMDocument should be created.";i:1;s:10125:"#0 /home/puffpackage/public_html/vendor/magento/framework/View/Element/UiComponent/Config/Reader.php(95): Magento\Framework\View\Element\UiComponent\Config\DomMerger->getDom()
#1 /home/puffpackage/public_html/vendor/magento/module-ui/Model/Manager.php(261): Magento\Framework\View\Element\UiComponent\Config\Reader->read()
#2 /home/puffpackage/public_html/vendor/magento/module-ui/Model/Manager.php(169): Magento\Ui\Model\Manager->prepare('form_schedule_b...')
#3 /home/puffpackage/public_html/vendor/magento/framework/View/Element/UiComponentFactory.php(139): Magento\Ui\Model\Manager->prepareData('form_schedule_b...')
#4 /home/puffpackage/public_html/vendor/magento/framework/View/Layout/Generator/UiComponent.php(125): Magento\Framework\View\Element\UiComponentFactory->create('form_schedule_b...', NULL, Array)
#5 /home/puffpackage/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), 'form_schedule_b...', Array, Object(Magento\Framework\View\Layout\Interceptor))
#6 /home/puffpackage/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))
#7 /home/puffpackage/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))
#8 /home/puffpackage/public_html/var/generation/Magento/Framework/View/Layout/Interceptor.php(89): Magento\Framework\View\Layout->generateElements()
#9 /home/puffpackage/public_html/vendor/magento/framework/View/Layout/Builder.php(129): Magento\Framework\View\Layout\Interceptor->generateElements()
#10 /home/puffpackage/public_html/vendor/magento/framework/View/Page/Builder.php(55): Magento\Framework\View\Layout\Builder->generateLayoutBlocks()
#11 /home/puffpackage/public_html/vendor/magento/framework/View/Layout/Builder.php(65): Magento\Framework\View\Page\Builder->generateLayoutBlocks()
#12 /home/puffpackage/public_html/vendor/magento/framework/View/Page/Config.php(166): Magento\Framework\View\Layout\Builder->build()
#13 /home/puffpackage/public_html/vendor/magento/framework/View/Page/Config.php(475): Magento\Framework\View\Page\Config->build()
#14 /home/puffpackage/public_html/vendor/magento/framework/View/Page/Config.php(433): Magento\Framework\View\Page\Config->getElementAttribute('body', 'class')
#15 /home/puffpackage/public_html/vendor/magento/module-catalog/Controller/Adminhtml/Product/Attribute.php(90): Magento\Framework\View\Page\Config->addBodyClass('attribute-popup')
#16 /home/puffpackage/public_html/vendor/magento/module-catalog/Controller/Adminhtml/Product/Attribute/Edit.php(55): Magento\Catalog\Controller\Adminhtml\Product\Attribute->createActionPage(Object(Magento\Framework\Phrase))
#17 /home/puffpackage/public_html/var/generation/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Edit/Interceptor.php(25): Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit->execute()
#18 /home/puffpackage/public_html/vendor/magento/framework/App/Action/Action.php(102): Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor->execute()
#19 /home/puffpackage/public_html/vendor/magento/module-backend/App/AbstractAction.php(226): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))
#20 /home/puffpackage/public_html/vendor/magento/module-catalog/Controller/Adminhtml/Product/Attribute.php(72): Magento\Backend\App\AbstractAction->dispatch(Object(Magento\Framework\App\Request\Http))
#21 [internal function]: Magento\Catalog\Controller\Adminhtml\Product\Attribute->dispatch(Object(Magento\Framework\App\Request\Http))
#22 /home/puffpackage/public_html/vendor/magento/framework/Interception/Interceptor.php(74): call_user_func_array(Array, Array)
#23 /home/puffpackage/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor->___callParent('dispatch', Array)
#24 /home/puffpackage/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\Attribute\Edit\Interceptor), Array, 'adminAuthentica...')
#25 /home/puffpackage/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))
#26 [internal function]: Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch(Object(Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#27 /home/puffpackage/public_html/vendor/magento/framework/Interception/Chain/Chain.php(68): call_user_func_array(Array, Array)
#28 /home/puffpackage/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\Attribute\Edit\Interceptor), Array, 'designLoader')
#29 /home/puffpackage/public_html/vendor/magento/framework/App/Action/Plugin/Design.php(39): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#30 [internal function]: Magento\Framework\App\Action\Plugin\Design->aroundDispatch(Object(Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#31 /home/puffpackage/public_html/vendor/magento/framework/Interception/Chain/Chain.php(68): call_user_func_array(Array, Array)
#32 /home/puffpackage/public_html/vendor/magento/framework/Interception/Interceptor.php(136): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Catalog...', 'dispatch', Object(Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor), Array, 'adminMassaction...')
#33 /home/puffpackage/public_html/vendor/magento/module-backend/App/Action/Plugin/MassactionKey.php(33): Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#34 [internal function]: Magento\Backend\App\Action\Plugin\MassactionKey->aroundDispatch(Object(Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#35 /home/puffpackage/public_html/vendor/magento/framework/Interception/Interceptor.php(141): call_user_func_array(Array, Array)
#36 /home/puffpackage/public_html/var/generation/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Edit/Interceptor.php(40): Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor->___callPlugins('dispatch', Array, Array)
#37 /home/puffpackage/public_html/vendor/magento/framework/App/FrontController.php(55): Magento\Catalog\Controller\Adminhtml\Product\Attribute\Edit\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#38 [internal function]: Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))
#39 /home/puffpackage/public_html/vendor/magento/framework/Interception/Interceptor.php(74): call_user_func_array(Array, Array)
#40 /home/puffpackage/public_html/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)
#41 /home/puffpackage/public_html/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')
#42 /home/puffpackage/public_html/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#43 [internal function]: Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#44 /home/puffpackage/public_html/vendor/magento/framework/Interception/Chain/Chain.php(68): call_user_func_array(Array, Array)
#45 /home/puffpackage/public_html/vendor/magento/framework/Interception/Interceptor.php(136): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'storeCookieVali...')
#46 /home/puffpackage/public_html/vendor/magento/module-store/Model/Plugin/StoreCookie.php(78): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#47 [internal function]: Magento\Store\Model\Plugin\StoreCookie->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#48 /home/puffpackage/public_html/vendor/magento/framework/Interception/Interceptor.php(141): call_user_func_array(Array, Array)
#49 /home/puffpackage/public_html/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#50 /home/puffpackage/public_html/vendor/magento/framework/App/Http.php(115): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#51 /home/puffpackage/public_html/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#52 /home/puffpackage/public_html/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#53 {main}";s:3:"url";s:244:"/puffmin/catalog/product_attribute/new/store/0/product_tab/variations/popup/1/key/5c2a345ed1b7894fdb9bca01f9daba0c242a4451e6b492633a2d909675076f05/?attribute%5Bis_global%5D=1&attribute%5Bfrontend_input%5D=select&set=4&attribute[frontend_label]=";s:11:"script_name";s:10:"/index.php";} "

Чи можете ви бути більш конкретними, як ви це намагалися? через адміністратор чи редагування файлів xml?
Мадді

На сторінці адміністратора під час редагування продукту він може бути налаштований, який включає атрибут products, я також спробував редагувати його в самому розділі атрибутів, і у нього була така ж помилка.
Девід Хант

2
ви повинні перевірити var / log / system.log в останньому коді.
xanka

Журнал помилок говорить: [2015-12-16 06:40:32] main.CRITICAL: Не вдається створити каталог / home / puffpackage / public_html / var / generation / Magento / Eav / Model / Entity / Attribute / Config / Reader /. [] []
Девід Хант

Magento 2.0 CE, якщо це допоможе ..
Девід Хант

Відповіді:


8

Схоже, var/generationце не можна записати. Переконайтеся в тому , щоб встановити право власності на систему власне файлу і права доступу : var, app/etcі pub/staticповинні бути доступні для запису веб - сервером.


Саме вар / композитор і симфоні мали неправильного власника. Я не впевнений, чому це право власності було неправильним або чому це спричинило б цю проблему, але дякую за допомогу :)
Девід Хант

17

Іншою можливою причиною Object DOMDocument should be created.помилки є недоступний ui_component/your_listing.xmlфайл під view/adminhtml/папкою, коли ви хочете створити сітку адміністратора, і ви оголосите її під view/adminhtml/layout/your_handle_index.xmlтаким:

<body>
    <referenceContainer name="content">
        <uiComponent name="your_listing"/>
    </referenceContainer>
</body>

Так, я справді мав цю проблему. Тепер я переходжу до наступної помилки :). Multumesc!
Адріана Мойса

1
У моєму випадку я неправильно написав каталог view/adminhtml/
Nahid

це дуже допомагає в моєму випадку у мене є додатковий код у vendor / magento / Framework / view / element / UiComponentFactory.php, пов’язаний з інтерфейсом користувача, який там не повинен був бути
Asad Ullah

10

Іншою можливою причиною цієї помилки є те, що у папках вашого класу немає належної літери (тобто є малі регістри).

var / log / system.log:

[2016-02-26 21:19:51] main.CRITICAL: Class Example\Myclass\Block\ShopCategory does not exist [] []
[2016-02-26 21:19:51] main.CRITICAL: Invalid block type: Example\Myclass\Block\ShopCategory [] []

Наприклад, якщо папка простору імен є "example", а не "Example", вона буде спрацьовувати добре в Windows та більшості установок Mac, але вийде з ладу з "Object DOMDocument слід створити." помилка в Linux, оскільки Linux використовує залежну від регістру файлову систему.


Thx для підказки заглянути в system.log. Для мене було простим повідомленням про phpNotice: Undefined index: regalo_mittente in /app/code/Custom/Backend/Helper/Data.php on line 50
LucScu

Це має бути першим, на що слід звернути увагу.
Ніколя ПЕРНОТ

1

Нещодавно під час розробки модуля у мене виникла така ж помилка. У моєму випадку я виявив справжню помилку, яка була:

Кругова залежність: постачальник \ модуль \ помічник \ дані залежать від постачальника \ модуля \ помічника \ бота та навпаки.

Я усунув цю залежність від __constructметоду своїх помічників (відновлював їх за допомогою одного батьківського класу), і помилка відсутня. Тому я рекомендую вам перевірити кругові залежності у своєму коді.

Інший вид помилки: Fatal Error під час візуалізації компонента, викликаний викликом до неіснуючого класу від стороннього модуля.

Як я розумію, цей тип помилок видається, коли фатальна помилка виникає під час візуалізації компонента і не має нічого спільного з документом Obom DOM.


0

Добре, якщо ви перенесли свої дані з Magento 1 на Magento 2, і якщо ви отримуєте цю помилку на певній сторінці, виконайте наступні кроки:

Якщо ви отримуєте цю помилку в конкретній сторінці перегляду продуктів , Категорія сторінці або будь-якій сторінці СХ потім Готи , що продукт / категорія або CMS сторінки редагування розділу і Гото Design розділ і в макеті XML поновлення , якщо якийсь - або блок додається , то коментар , що код XML або видалити очистіть кеш і перевірте на фронт.


0

Я також натрапив на це .. перевірка var / log / system.log показує обмеження open_basedir на ділі. Файл (/ etc / pki / tls / certs)

видалення обмеження open_basedir вирішило проблему

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.