Почему мои атрибуты отображаются не в порядке расположения на интерфейсе Magento 1.9.1.0?
Параметры атрибута размера в моих настраиваемых продуктах отображаются в неправильном положении на интерфейсе. Вместо этого они отображаются в порядке идентификатора продукта
Я установил позицию в атрибуте размера в панели администратора (т.Е. XS - позиция 1, S - позиция 2), но это, похоже, игнорируется на интерфейсе магазина. Я уже переиндексировал и очистил все тайники.
Является ли это известной ошибкой? Как мне это исправить?
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() ?>);