2

I am facing an issue in Magento 2.2.3 it's working fine in local.

Please find the issue below:

1 exception(s): Exception #0 (Magento\Framework\Exception\LocalizedException): Invalid XML in file app/code/Vendor/Module/view/adminhtml/ui_component/customform_submission_saveform_listing.xml:

Element 'argument': This element is not expected.

I am unable to solve this issue.

Please find the code below:

 <?xml version="1.0"?>
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
 <listingToolbar name="listing_top">
 <!-- ... other block of code -->
 <settings>
 <sticky>true</sticky>
 </settings>
 <bookmark name="bookmarks"/>
 <columnsControls name="columns_controls"/>
 <filters name="listing_filters" />
 <filterSearch name="fulltext"/>
 <massaction name="listing_massaction">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="component" xsi:type="string">Magento_Ui/js/grid/tree-massactions</item>
 </item>
 </argument>
 <action name="delete">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="type" xsi:type="string">delete</item>
 <item name="label" xsi:type="string" translate="true">Delete</item>
 <item name="url" xsi:type="url" path="customform_submission/saveform/massDelete"/>
 <item name="confirm" xsi:type="array">
 <item name="title" xsi:type="string" translate="true">Delete Record</item>
 <item name="message" xsi:type="string" translate="true">Are you sure you wan't to delete selected items?</item>
 </item>
 </item>
 </argument>
 </action>
 </massaction>
 <paging name="listing_paging"/>
 <exportButton name="export_button"/>
 </listingToolbar>
 <argument name="data" xsi:type="array">
 <item name="js_config" xsi:type="array">
 <item name="provider" xsi:type="string">customform_submission_saveform_listing.customform_submission_saveform_listing_data_source</item>
 <item name="deps" xsi:type="string">customform_submission_saveform_listing.customform_submission_saveform_listing_data_source</item>
 </item>
 <item name="spinner" xsi:type="string">spinner_columns</item>
 <item name="buttons" xsi:type="array">
 <item name="add" xsi:type="array">
 <item name="name" xsi:type="string">add</item>
 <item name="label" xsi:type="string" translate="true">Add New Record</item>
 <item name="class" xsi:type="string">primary</item>
 <item name="url" xsi:type="string">*/*/new</item>
 </item>
 </item>
 </argument>
 <dataSource name="nameOfDataSource">
 <argument name="dataProvider" xsi:type="configurableObject">
 <argument name="class" xsi:type="string">Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider</argument>
 <argument name="name" xsi:type="string">customform_submission_saveform_listing_data_source</argument>
 <argument name="primaryFieldName" xsi:type="string">level_id</argument>
 <argument name="requestFieldName" xsi:type="string">level_id</argument>
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
 <item name="update_url" xsi:type="url" path="mui/index/render"/>
 <item name="storageConfig" xsi:type="array">
 <item name="indexField" xsi:type="string">level_id</item>
 </item>
 </item>
 </argument>
 </argument>
 </dataSource>
 <columns name="spinner_columns">
 <selectionsColumn name="level_id">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="resizeEnabled" xsi:type="boolean">false</item>
 <item name="resizeDefaultWidth" xsi:type="string">55</item>
 <item name="indexField" xsi:type="string">level_id</item>
 </item>
 </argument>
 </selectionsColumn>
 <column name="level_id">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="filter" xsi:type="string">textRange</item>
 <item name="sorting" xsi:type="string">asc</item>
 <item name="label" xsi:type="string" translate="true">ID</item>
 </item>
 </argument>
 </column>
 <column name="name">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="filter" xsi:type="string">text</item>
 <item name="editor" xsi:type="array">
 <item name="editorType" xsi:type="string">text</item>
 <item name="validation" xsi:type="array">
 <item name="required-entry" xsi:type="boolean">true</item>
 </item>
 </item>
 <item name="label" xsi:type="string" translate="true">First Name</item>
 </item>
 </argument>
 </column>
 <column name="description">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="filter" xsi:type="string">text</item>
 <item name="editor" xsi:type="array">
 <item name="editorType" xsi:type="string">text</item>
 <item name="validation" xsi:type="array">
 <item name="required-entry" xsi:type="boolean">true</item>
 </item>
 </item>
 <item name="label" xsi:type="string" translate="true">Last Name</item>
 </item>
 </argument>
 </column>
 <actionsColumn name="actions" class="Customform\Submission\Ui\Component\Listing\Column\PostActions">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="resizeEnabled" xsi:type="boolean">false</item>
 <item name="resizeDefaultWidth" xsi:type="string">107</item>
 <item name="indexField" xsi:type="string">level_id</item>
 </item>
 </argument>
 </actionsColumn>
 </columns>
</listing>

Thanks.

kunj
3,7092 gold badges11 silver badges26 bronze badges
asked Jun 11, 2018 at 8:59
13
  • Can you share xml file? Commented Jun 11, 2018 at 9:08
  • hi @levinsky please find the updated question Commented Jun 11, 2018 at 9:18
  • I can't see code from this file in your answer Commented Jun 11, 2018 at 9:32
  • Not in answer check it in question Commented Jun 11, 2018 at 9:34
  • sorry now check the update question Commented Jun 11, 2018 at 9:41

4 Answers 4

1

Your code should be like this:

 <?xml version="1.0"?>
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
 <argument name="data" xsi:type="array">
 <item name="js_config" xsi:type="array">
 <item name="provider" xsi:type="string">customform_submission_saveform_listing.customform_submission_saveform_listing_data_source</item>
 </item>
 </argument>
 <settings>
 <buttons>
 <button name="add">
 <url path="*/*/new"/>
 <class>primary</class>
 <label translate="true">Add New Record</label>
 </button>
 </buttons>
 <spinner>spinner_columns</spinner>
 <deps>
 <dep>customform_submission_saveform_listing.customform_submission_saveform_listing_data_source</dep>
 </deps>
 </settings>
 <dataSource name="nameOfDataSource">
 <argument name="dataProvider" xsi:type="configurableObject">
 <argument name="class" xsi:type="string">Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider</argument>
 <argument name="name" xsi:type="string">customform_submission_saveform_listing_data_source</argument>
 <argument name="primaryFieldName" xsi:type="string">level_id</argument>
 <argument name="requestFieldName" xsi:type="string">level_id</argument>
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
 <item name="update_url" xsi:type="url" path="mui/index/render"/>
 <item name="storageConfig" xsi:type="array">
 <item name="indexField" xsi:type="string">level_id</item>
 </item>
 </item>
 </argument>
 </argument>
 </dataSource>
 <listingToolbar name="listing_top">
 <!-- ... other block of code -->
 <settings>
 <sticky>true</sticky>
 </settings>
 <bookmark name="bookmarks"/>
 <columnsControls name="columns_controls"/>
 <filters name="listing_filters" />
 <filterSearch name="fulltext"/>
 <massaction name="listing_massaction">
 <action name="delete">
 <settings>
 <confirm>
 <message translate="true">Are you sure you wan't to delete selected items?</message>
 <title translate="true">Delete Record</title>
 </confirm>
 <url path="customform_submission/saveform/massDelete"/>
 <type>delete</type>
 <label translate="true">Delete</label>
 </settings>
 </action>
 </massaction>
 <paging name="listing_paging"/>
 <exportButton name="export_button"/>
 </listingToolbar>
 <columns name="spinner_columns">
 <selectionsColumn name="level_id">
 <settings>
 <indexField>level_id</indexField>
 <resizeEnabled>false</resizeEnabled>
 <resizeDefaultWidth>55</resizeDefaultWidth>
 </settings>
 </selectionsColumn>
 <column name="level_id">
 <settings>
 <filter>textRange</filter>
 <label translate="true">ID</label>
 <sorting>asc</sorting>
 </settings>
 </column>
 <column name="name">
 <settings>
 <filter>text</filter>
 <editor>
 <validation>
 <rule name="required-entry" xsi:type="boolean">true</rule>
 </validation>
 <editorType>text</editorType>
 </editor>
 <label translate="true">First Name</label>
 </settings>
 </column>
 <column name="description">
 <settings>
 <filter>text</filter>
 <editor>
 <validation>
 <rule name="required-entry" xsi:type="boolean">true</rule>
 </validation>
 <editorType>text</editorType>
 </editor>
 <label translate="true">Last Name</label>
 </settings>
 </column>
 <actionsColumn name="actions" class="Customform\Submission\Ui\Component\Listing\Column\PostActions">
 <settings>
 <indexField>level_id</indexField>
 <resizeEnabled>false</resizeEnabled>
 <resizeDefaultWidth>107</resizeDefaultWidth>
 </settings>
 </actionsColumn>
 </columns>
</listing>

Magento has changed code style. Flush cache and try again.

answered Jun 11, 2018 at 10:54
11
  • i have followed the above answer but the error is remain same:1 exception(s): Exception #0 (Magento\Framework\Exception\LocalizedException): Invalid XML in file /var/www/html/app/code/Customform/Submission/view/adminhtml/ui_component/customform_submission_saveform_listing.xml: Element 'argument': This element is not expected. Line: 35 Commented Jun 11, 2018 at 11:32
  • update XML content on question. Commented Jun 11, 2018 at 12:36
  • Please find the updated code in question. Commented Jun 11, 2018 at 12:42
  • I have updated my answer. Commented Jun 11, 2018 at 12:45
  • 1
    I have recreate your XML please check this. Commented Jun 11, 2018 at 13:21
1

Here is the example of the UI Component created module if you will look into this then you may find the solution.

Here is the link :- Sample UI Component Module

answered Jun 11, 2018 at 9:14
1

Try changing

<listingToolbar name="listing_top">
 <argument name="data" xsi:type="array">
 <item name="config" xsi:type="array">
 <item name="sticky" xsi:type="boolean">true</item>
 </item>
 </argument>
 <bookmark name="bookmarks"/>

with

<listingToolbar name="listing_top">
 <settings>
 <sticky>true</sticky>
 </settings>
 <bookmark name="bookmarks"/>
answered Jun 11, 2018 at 10:42
1

It's 2021 so I'm sure you've since resolved this issue and long forgotten about the pain caused by Magento layouts!

That said, I had an almost identical issue with a custom module's adminhtml grid.

Assuming the line it's referencing is the top of this one

<argument name="data" xsi:type="array">
 <item name="js_config" xsi:type="array">
 <item name="provider" xsi:type="string">customform_submission_saveform_listing.customform_submission_saveform_listing_data_source</item>
 <item name="deps" xsi:type="string">customform_submission_saveform_listing.customform_submission_saveform_listing_data_source</item>
 </item>
 <item name="spinner" xsi:type="string">spinner_columns</item>
 <item name="buttons" xsi:type="array">
 <item name="add" xsi:type="array">
 <item name="name" xsi:type="string">add</item>
 <item name="label" xsi:type="string" translate="true">Add New Record</item>
 <item name="class" xsi:type="string">primary</item>
 <item name="url" xsi:type="string">*/*/new</item>
 </item>
 </item>
</argument>

(After the closing tag </listingToolbar>)

I simply moved that entire block to the top of the file, directly after the opening <listing xmlns node.

Why this worked in default mode and not developer mode? I have no idea. But it seemed to work perfectly once I yeeted that upwards.

I hope this helps fellow individuals who have torn their hair out.

answered May 25, 2021 at 10:11

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.