Спробуйте виконати наступний спосіб, використовуючи спеціальний плагін, тому, будь ласка, додайте код плагіна у власне розширення, як показано нижче
/Vendor/Module/etc/frontend/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Catalog\Block\Product\ProductList\Toolbar">
<plugin name="vendormodule_catalog_block_product_listproduct_toolbar" type="Vendor\Module\Plugin\Catalog\Block\Product\ProductList\Toolbar"/>
</type>
</config>
/Vendor/Module/Plugin/Catalog/Block/Product/ProductList/Toolbar.php
<?php
namespace Vendor\Module\Plugin\Catalog\Block\Product\ProductList;
class Toolbar
{
/**
* @var \Magento\Framework\Registry
*/
protected $_coreRegistry;
public function __construct(\Magento\Framework\Registry $coreRegistry)
{
$this->_coreRegistry = $coreRegistry;
}
/**
* @param \Magento\Catalog\Block\Product\ProductList\Toolbar $toolbar
* @param \Magento\Framework\Data\Collection $collection
* @return array
*/
public function beforeSetCollection(
\Magento\Catalog\Block\Product\ProductList\Toolbar $toolbar,
$collection
){
$collection->getSelect()->group('e.entity_id')->order('{YOUR CUSTOM ATTRIBUTE CODE} ASC');
$collection->getSize();
return [$collection];
}
}
Будь ласка, спробуйте і повідомте мене, якщо у вас виникли якісь проблеми.
1-9
в моєму атрибуті користувальницького продукту, але коли я збільшую значення з 9, як 10, 11. Це знищить сортування, як я сказав у своєму запитанні. Все одно дякую за відповідь. За ваші зусилля. +1