Пожалуйста, попробуйте следующий способ, используя собственный плагин, поэтому, пожалуйста, добавьте код плагина в свое собственное расширение, как показано ниже
/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