Я работаю на сайте magento (Magento ver. 1.5.1.0). Пожалуйста, обратите внимание, что я новичок в Magento.Я пытаюсь получить возможность сортировки по бестселлерам. Мне удалось это сделать, добавив локальные файлы для переопределения основных файлов следующим образом:
httpdocs / app / code / local / Mage / Catalog / Block / Product/List/Toolbar.php:
public function getAvailableOrders()
{
//return $this->_availableOrder;
//Custom Order list Edit
$this->_availableOrder = array(
'qty_ordered' => $this->__('Best Sellers'),
'entity_id' => $this->__('Latest arrivals'),
'name' => $this->__('Name'),
'price' => $this->__('Price')
);
//Custom Available Order -Edit finish
return $this->_availableOrder;
}
И httpdocs / app / design / frontend / default / localsite / template / catalog / product / list / toolbar.phmtl:
<fieldset class="sort-by">
<label><?php echo $this->__('Sort by') ?></label>
<select onchange="setLocation(this.value)">
<option value="<?php echo $this->getOrderUrl('entity_id', 'desc') ?>"<?php if($this->isOrderCurrent('entity_id') && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
Newest Products
</option>
<option value="<?php echo $this->getOrderUrl('qty_ordered', 'desc') ?>"<?php if($this->isOrderCurrent('qty_ordered') && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
Best Sellers
</option>
<option value="<?php echo $this->getOrderUrl('price', 'asc') ?>"<?php if($this->isOrderCurrent('price') && $this->getCurrentDirection() == 'asc'): ?> selected="selected"<?php endif; ?>>
Lowest Price
</option>
<option value="<?php echo $this->getOrderUrl('price', 'desc') ?>"<?php if($this->isOrderCurrent('price') && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
Highest Price
</option>
<option value="<?php echo $this->getOrderUrl('name', 'asc') ?>"<?php if($this->isOrderCurrent('name') && $this->getCurrentDirection() == 'asc'): ?> selected="selected"<?php endif; ?>>
Name A-Z
</option>
<option value="<?php echo $this->getOrderUrl('name', 'desc') ?>"<?php if($this->isOrderCurrent('name') && $this->getCurrentDirection() == 'desc'): ?> selected="selected"<?php endif; ?>>
Name Z-A
</option>
</select>
</fieldset>
Это работает в том смысле, что у меня теперь есть опция сортировки бестселлеров, которая сортируется так же, как и бестселлеры на панели инструментов.К сожалению, раздел бестселлеров на панели инструментов и, следовательно, мой список сортировки совершенно неверен.
Кто-нибудь знает, как это исправить или нет, кто-нибудь знает другой атрибут, который я могу отсортировать для достижения того же результата - если я пойдуна панель инструментов> отчеты> продукты> заказанные продукты Я могу получить нужный заказ с широким диапазоном дат - любой способ восстановить это в опциях сортировки.
Есть ли где-нибудь список доступных вариантов сортировки?
****************** UPDATE *******************
Я заметил, что все продукты, перечисленные в бестселлерах, являются более старыми.Последние 100 или около того продуктов, которые были добавлены, не включены в список бестселлеров.Эти же продукты также перечислены отдельно, если я сортирую по a по Z либо на панели инструментов, либо с помощью описанной выше опции сортировки, чтобы они перешли на новые продукты от A до Z, а затем на более старые продукты от A до Z. Есть идеи, что может быть причиной этого?
Любые советы, советы, помощь высоко ценится.