Hi,
I am having an issue that I don't fully understand why the product page won't load. I am on Magento 2.2.9 using VES Floristry theme from Land of Coder. I have a ticket in with them, but frankly, I'm a little underwhelmed with their service of late and would like to get this fixed if it's indeed something simple. Below is the error when I try to access a product page like http://m2.vulcansrest.com/shibori-knitted-felt.html
I have a hunch the theme has some old cold from M2.1.x and I don't think M2.2.x supports <move>, but its a little advance for me right now.
Thanks in advance for any help you can provide.
1 exception(s): Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'move', attribute 'name': The attribute 'name' is not allowed. Line: 1346 Element 'move', attribute 'name': The attribute 'name' is not allowed. Line: 1347 Element 'move', attribute 'name': The attribute 'name' is not allowed. Line: 1348 Exception #0 (Magento\Framework\Config\Dom\ValidationException): Element 'move', attribute 'name': The attribute 'name' is not allowed. Line: 1346 Element 'move', attribute 'name': The attribute 'name' is not allowed. Line: 1347 Element 'move', attribute 'name': The attribute 'name' is not allowed. Line: 1348 <pre>#1 Magento\Framework\Config\Dom->__construct() called at [vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:111] #2 Magento\Framework\ObjectManager\Factory\AbstractFactory->createObject() called at [vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:66] #3 Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() called at [vendor/magento/framework/ObjectManager/ObjectManager.php:56] #4 Magento\Framework\ObjectManager\ObjectManager->create() called at [vendor/magento/framework/Config/DomFactory.php:42] #5 Magento\Framework\Config\DomFactory->createDom() called at [vendor/magento/framework/View/Model/Layout/Update/Validator.php:141] #6 Magento\Framework\View\Model\Layout\Update\Validator->isValid() called at [vendor/magento/framework/View/Model/Layout/Merge.php:479] #7 Magento\Framework\View\Model\Layout\Merge->_validateMergedLayout() called at [vendor/magento/framework/View/Model/Layout/Merge.php:455] #8 Magento\Framework\View\Model\Layout\Merge->load() called at [generated/code/Magento/Framework/View/Model/Layout/Merge/Interceptor.php:193] #9 Magento\Framework\View\Model\Layout\Merge\Interceptor->load() called at [vendor/magento/framework/View/Layout/Builder.php:86] #10 Magento\Framework\View\Layout\Builder->loadLayoutUpdates() called at [vendor/magento/framework/View/Layout/Builder.php:63] #11 Magento\Framework\View\Layout\Builder->build() called at [vendor/magento/framework/View/Layout.php:253] #12 Magento\Framework\View\Layout->build() called at [vendor/magento/framework/View/Layout.php:875] #13 Magento\Framework\View\Layout->getBlock() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:414] #14 Magento\Framework\View\Layout\Interceptor->getBlock() called at [vendor/magento/module-cms/Helper/Page.php:171] #15 Magento\Cms\Helper\Page->prepareResultPage() called at [vendor/magento/module-cms/Controller/Noroute/Index.php:44] #16 Magento\Cms\Controller\Noroute\Index->execute() called at [generated/code/Magento/Cms/Controller/Noroute/Index/Interceptor.php:24] #17 Magento\Cms\Controller\Noroute\Index\Interceptor->execute() called at [vendor/magento/framework/App/Action/Action.php:107] #18 Magento\Framework\App\Action\Action->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58] #19 Magento\Cms\Controller\Noroute\Index\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138] #20 Magento\Cms\Controller\Noroute\Index\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153] #21 Magento\Cms\Controller\Noroute\Index\Interceptor->___callPlugins() called at [generated/code/Magento/Cms/Controller/Noroute/Index/Interceptor.php:39] #22 Magento\Cms\Controller\Noroute\Index\Interceptor->dispatch() called at [vendor/magento/framework/App/FrontController.php:55] #23 Magento\Framework\App\FrontController->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58] #24 Magento\Framework\App\FrontController\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138] #25 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php:94] #26 Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135] #27 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php:73] #28 Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135] #29 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153] #30 Magento\Framework\App\FrontController\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:26] #31 Magento\Framework\App\FrontController\Interceptor->dispatch() called at [vendor/magento/framework/App/Http.php:136] #32 Magento\Framework\App\Http->launch() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:24] #33 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:257] #34 Magento\Framework\App\Bootstrap->run() called at [index.php:39] </pre>
Hello,
"Move" attribute is no longer allowed within XML layout files as of version 2.2.x.
This exception occurs because you are using an invalid attribute for the element, for example:
Example 1:
<move name = "form.subscribe"/>
Error: the name attribute is not allowed in the move element
Solution: remove the attribute 'name' if use into move element
Example 2:
<remove name="form.subscribe"/>
Error: the remove attribute is not valid
Solution:
<referenceBlock name="form.subscribe" remove="true" />
Simply download a copy of your theme & use "File in files" function within a advanced text editor such as Sublime to find:
<move element="
Replace with the correct Syntax.
That should fix your problem, the error message is not outlining the file with the incorrect syntax, so you will have to find it with the method above.
I hope this information helps.
Thanks for your solution Conor. Confirmed what I was thinking and my hunch the theme owners game me install code for 2.1.x.
That said, I think they will be fixing it, but I am always trying to learn so I can handle more and more "higher level" issues myself, but in this case I am ignorant to what the correct syntax to replace:
<move element="
I'm pretty sure I found this documentation you quoted in your reply as well, but I don't understand the solution as it reads:
Error: the name attribute is not allowed in the move element
Solution: remove the attribute 'name' if use into move element
I mean, I literally don't understand the sentence "remove the attribute 'name' if use into move element" as written.
Would you be able to provide me that syntax and/or clarification of what that sentence means please?
Kory
as in below code i try to move element position from one place to another
here element:- is the name of block which i have to move
and destination:- where to show
and after:- which block
<move element="product.info.stock.sku" destination="product.info.price" after="product.price.final"/>
replace your code accordingly
if it solve your problem then accept it as solution and give kudos.
Thanks for the reply.
Can you tell which file I should be looking at to fix this from the error I posted?
@frameroom
you have to check catalog_product_view.xml for this.
If issue is resolve accept as solution and give kudos.