【问题标题】:Implement massactions in grid using ui_component magento2使用 ui_component magento2 在网格中实现 massactions
【发布时间】:2017-02-20 22:37:18
【问题描述】:

如何使用 ui_component magento2 在网格中实现批量操作。我已经创建了我的 ui_component 并且需要实现大规模操作。我还为所需路径创建了控制器。但是,不知何故,它只是不起作用。

ui_component/test_grid.xml

<massaction name="listing_massaction">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="selectProvider" xsi:type="string">test_grid.test_grid.test_grid_columns.ids</item>
            <item name="component" xsi:type="string">Magento_Ui/js/grid/tree-massactions</item>
            <item name="indexField" xsi:type="string">entity_id</item>
        </item>
    </argument>
    <action name="reject">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="type" xsi:type="string">rejected</item>
                <item name="label" xsi:type="string" translate="true">Reject</item>
                <item name="url" xsi:type="url" path="*/*/MassDelete"><item/>
                <item name="confirm" xsi:type="array">
                    <item name="title" xsi:type="string" translate="true">Reject items</item>
                    <item name="message" xsi:type="string" translate="true">Are you sure to reject selected Requests?</item>
                </item>
            </item>
        </argument>
    </action>
    <action name="accept">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="type" xsi:type="string">accepted</item>
                <item name="label" xsi:type="string" translate="true">Accept</item>
                <item name="url" xsi:type="string">test/Index/Massaccept</item>                        
            </item>
        </argument>
    </action>
</massaction>

我的控制器在路径中:

Vendor/Module/Controller/Adminhtml/Index/Massaccept.php Vendor/Module/Controller/Adminhtml/Index/Massreject.php

群众行动在网格上可见,但不会重定向到任何地方。

【问题讨论】:

    标签: magento grid magento2 adminhtml uicomponents


    【解决方案1】:

    如下所示更新您的代码

    <massaction name="listing_massaction">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="selectProvider" xsi:type="string">test_grid.test_grid.test_grid_columns.ids</item>
                <item name="component" xsi:type="string">Magento_Ui/js/grid/tree-massactions</item>
                <item name="indexField" xsi:type="string">entity_id</item>
            </item>
        </argument>
        <action name="reject">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="type" xsi:type="string">rejected</item>
                    <item name="label" xsi:type="string" translate="true">Reject</item>
                    <item name="url" xsi:type="url" path="*/*/MassReject"><item/>
                    <item name="confirm" xsi:type="array">
                        <item name="title" xsi:type="string" translate="true">Reject items</item>
                        <item name="message" xsi:type="string" translate="true">Are you sure to reject selected Requests?</item>
                    </item>
                </item>
            </argument>
        </action>
        <action name="accept">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="type" xsi:type="string">Accept</item>
                    <item name="label" xsi:type="string" translate="true">Accept</item>
                    <item name="url" xsi:type="url" path="*/*/MassAccept"><item/>
                    <item name="confirm" xsi:type="array">
                        <item name="title" xsi:type="string" translate="true">Accept items</item>
                        <item name="message" xsi:type="string" translate="true">Are you sure to Accept selected Requests?</item>
                    </item>
                </item>
            </argument>
        </action>
    </massaction>
    

    【讨论】:

      【解决方案2】:

      尝试在以下路径中添加路由文件: 命名空间\模块名\etc\adminhtml\routes.xml

      喜欢,

      <?xml version="1.0"?>
      <!--
      /**
       * Copyright © Magento, Inc. All rights reserved.
       * See COPYING.txt for license details.
       */
      -->
      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
          <router id="admin">
              <route id="id" frontName="name">
                  <module name="Namespace_Modulename" />
              </route>
          </router>
      </config>
      

      【讨论】:

      • 在完成UI组件列表文件后添加上述路由文件代码。
      猜你喜欢
      • 2017-05-08
      • 2022-12-05
      • 1970-01-01
      • 2010-11-30
      • 2019-08-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多