Почему мои атрибуты отображаются не в порядке расположения на интерфейсе Magento 1.9.1.0?


Параметры атрибута размера в моих настраиваемых продуктах отображаются в неправильном положении на интерфейсе. Вместо этого они отображаются в порядке идентификатора продукта

Я установил позицию в атрибуте размера в панели администратора (т.Е. XS - позиция 1, S - позиция 2), но это, похоже, игнорируется на интерфейсе магазина. Я уже переиндексировал и очистил все тайники.

Является ли это известной ошибкой? Как мне это исправить?

Author: Pixielees, 2015-03-09

1 answers

У Meogi есть отличное решение для этого здесь: Magento 1.9.1 настраиваемая сортировка атрибутов продукта

К сожалению, я использую Amasty Color Swatches Pro, и это нарушает его, поэтому мне пришлось придумать другое решение.

На данный момент я повторно сортирую объект getJsonConfig() в своем настраиваемом.шаблон phtml для жестко заданного атрибута размера (175):

$attribs = json_decode($this->getJsonConfig());
if($attribs->attributes)
{
    foreach($attribs->attributes as $attr)
    {
        if($attr->id == 175) //re-sort size
            {
                usort($attr->options, function ($a, $b){
                $sortOrder = Array("one size","petite","x-small","small","medium","large","x-large","24","25","26","27","28","29","30","31");
                return (array_search($a->label, $sortOrder) > array_search($b->label, $sortOrder)) ? 1 : -1;
                });
            }
    }
}
$attribs_json = json_encode($attribs);

А затем в моем JS я называю это:

var spConfig = new Product.Config(<?php echo $attribs_json; ?>);

Вместо

var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
 3
Author: jordan314, 2017-04-13 12:54:55