Magento 2:修改后台客户、订单及商品网格的每页显示选项
修改Magento后台商品、客户及订单网格的分页选项
嘿,我来帮你搞定Magento后台分页选项的修改问题!首先得提醒你一句:直接修改vendor目录下的文件是绝对不推荐的——Magento升级的时候这些文件会被覆盖,你的辛苦修改就白费了。正确的姿势是用自定义模块来覆盖这些UI组件配置,下面是具体步骤:
1. 准备自定义模块
先创建一个基础的自定义模块(比如命名为Vendor_CustomPaging),如果已经有自己的模块可以直接用现有模块。模块的基础结构这里就不多说了,确保模块已经在app/etc/config.php中注册并启用。
2. 覆盖客户列表分页配置
在你的模块目录下创建以下路径和文件:app/code/Vendor/CustomPaging/view/adminhtml/ui_component/customer_listing.xml
将以下代码写入该文件,替换成你需要的分页选项:
<?xml version="1.0" encoding="UTF-8"?> <listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd"> <paging name="listing_paging"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <!-- 自定义分页选项,按需修改数值和显示文本 --> <item name="options" xsi:type="array"> <item name="10" xsi:type="array"> <item name="value" xsi:type="number">10</item> <item name="label" xsi:type="string" translate="true">10</item> </item> <item name="25" xsi:type="array"> <item name="value" xsi:type="number">25</item> <item name="label" xsi:type="string" translate="true">25</item> </item> <item name="50" xsi:type="array"> <item name="value" xsi:type="number">50</item> <item name="label" xsi:type="string" translate="true">50</item> </item> <item name="75" xsi:type="array"> <item name="value" xsi:type="number">75</item> <item name="label" xsi:type="string" translate="true">75</item> </item> </item> <!-- 保留原有存储配置,确保分页状态能被书签保存 --> <item name="storageConfig" xsi:type="array"> <item name="provider" xsi:type="string">customer_listing.customer_listing.listing_top.bookmarks</item> <item name="namespace" xsi:type="string">current.paging</item> </item> </item> </argument> </paging> </listing>
3. 覆盖订单网格分页配置
创建路径和文件:app/code/Vendor/CustomPaging/view/adminhtml/ui_component/sales_order_grid.xml
写入以下代码:
<?xml version="1.0" encoding="UTF-8"?> <listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd"> <paging name="listing_paging"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="options" xsi:type="array"> <item name="10" xsi:type="array"> <item name="value" xsi:type="number">10</item> <item name="label" xsi:type="string" translate="true">10</item> </item> <item name="30" xsi:type="array"> <item name="value" xsi:type="number">30</item> <item name="label" xsi:type="string" translate="true">30</item> </item> <item name="60" xsi:type="array"> <item name="value" xsi:type="number">60</item> <item name="label" xsi:type="string" translate="true">60</item> </item> <item name="100" xsi:type="array"> <item name="value" xsi:type="number">100</item> <item name="label" xsi:type="string" translate="true">100</item> </item> </item> <item name="storageConfig" xsi:type="array"> <item name="provider" xsi:type="string">sales_order_grid.sales_order_grid.listing_top.bookmarks</item> <item name="namespace" xsi:type="string">current.paging</item> </item> </item> </argument> </paging> </listing>
4. 覆盖商品列表分页配置
创建路径和文件:app/code/Vendor/CustomPaging/view/adminhtml/ui_component/product_listing.xml
写入以下代码:
<?xml version="1.0" encoding="UTF-8"?> <listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd"> <paging name="listing_paging"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="options" xsi:type="array"> <item name="20" xsi:type="array"> <item name="value" xsi:type="number">20</item> <item name="label" xsi:type="string" translate="true">20</item> </item> <item name="40" xsi:type="array"> <item name="value" xsi:type="number">40</item> <item name="label" xsi:type="string" translate="true">40</item> </item> <item name="60" xsi:type="array"> <item name="value" xsi:type="number">60</item> <item name="label" xsi:type="string" translate="true">60</item> </item> <item name="150" xsi:type="array"> <item name="value" xsi:type="number">150</item> <item name="label" xsi:type="string" translate="true">150</item> </item> </item> <item name="storageConfig" xsi:type="array"> <item name="provider" xsi:type="string">product_listing.product_listing.listing_top.bookmarks</item> <item name="namespace" xsi:type="string">current.paging</item> </item> </item> </argument> </paging> </listing>
5. 最后执行这些操作
- 启用你的自定义模块(如果还没启用):
bin/magento module:enable Vendor_CustomPaging - 清理Magento缓存:
bin/magento cache:clean - 刷新后台页面,就能看到你自定义的分页选项啦!
内容的提问来源于stack exchange,提问作者Akhil Gupta
相关产品推荐
相关产品推荐

