当前位置: 技术文章>> Magento 2:如何在前端以编程方式按字母顺序显示类别

文章标题:Magento 2:如何在前端以编程方式按字母顺序显示类别
  • 文章分类: Magento
  • 28082 阅读
系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》

本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。


在前端按字母顺序按顺序显示类别的步骤

步骤 1:在 以下路径中创建一个名为 di.xml 的文件

app\code\VENDOR\EXTENSION\etc\di.xml

并添加此代码

<preference for="Magento\Catalog\Model\ResourceModel\Category" 
type="VENDOR\EXTENSION\Model\Category"/>

步骤 2:在 以下路径中创建另一个Category.php

app\code\VENDOR\EXTENSION\Model\Category.php

只需添加此代码

<?php
 
declare(strict_types=1);
namespace VENDOR\EXTENSION\Model;
 
class Category extends \Magento\Catalog\Model\ResourceModel\Category
{
   public function getChildrenCategories($category)
   {
       $collection = $category->getCollection();
       /* @var $collection \Magento\Catalog\Model\ResourceModel\Category\Collection */
       $collection->addAttributeToSelect('url_key')
                  ->addAttributeToSelect('name')
                  ->addAttributeToSelect('all_children')
                  ->addAttributeToSelect('is_anchor')
                  ->addAttributeToFilter('is_active',1)
                  ->addIdFilter($category->getChildren())
                  ->setOrder('name',\Magento\Framework\DB\Select::SQL_ASC)
                  ->joinUrlRewrite();
       return $collection;
   }
}
?>

结论

我希望,现在您很清楚 如何在Magento 2商店的前端按字母顺序按编程顺序显示类别。


推荐文章