Я использую следующий фрагмент кода, чтобы позволить пользователям устанавливать рекомендуемые продукты, которые будут отображаться на домашней странице, но мне нужно расширить это, чтобы они также могли определять порядок сортировки элементов. По умолчанию он отображает продукты в порядке их добавления в Magento.
Для этого я создал атрибут «sort_order», который позволяет пользователям добавлять числовые значения, которые будут определять порядок сортировки при отображении на домашней странице. Например, если у меня есть 4 продукта, то порядок сортировки может отображаться следующим образом
product1 - порядок сортировки 3
продукт 2 - порядок сортировки 1
продукт 3 - порядок сортировки 2
продукт 4 - порядок сортировки 4
Я пытался все утро заставить это работать. Я предполагаю, что мне нужно создать какой-то массив, который позволит мне затем упорядочить продукты, как указано в атрибуте "sort_order", но я никуда не доберусь
Если кто-нибудь может дать совет, я был бы очень признателен
<div id="home-featured">
<h2><?php echo $this->__('Featured') ?></h2>
<?php
// some helpers
$_helper = $this->helper('catalog/output');
$storeId = Mage::app()->getStore()->getId();
$catalog = $this->getLayout()->createBlock('catalog/product_list')->setStoreId($storeId);
// get all products that are marked as featured
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('featured_product');
$collection->addFieldToFilter(array(
array('attribute' => 'featured_product', 'eq' => true),
));
// if no products are currently featured, display some text
if (!$collection->count()) :
?>
<p class="note-msg"><?php echo $this->__('There are no featured products at the moment.') ?></p>
<?php else : ?>
<div class="category-products">
<?php
$_collectionSize = $collection->count();
$_columnCount = 4;
$i = 0;
foreach ($collection as $_product) :
$_product = Mage::getModel('catalog/product')->setStoreId($storeId)->load($_product->getId());
?>
<article>
<div class="product-image"><a href="<?php echo Mage::helper('fullurl')->getFullProductUrl($_product); ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" ><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->keepFrame(false)->resize(170); ?>" width="170" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a></div>
<div class="featured-info">
<h3><a href="<?php echo Mage::helper('fullurl')->getFullProductUrl($_product); ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h3>
<p><?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description ') ?></p>
<span class="link-dreambuilder"><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" ><?php echo $this->__('+ Add to Dream Builder') ?></a></span> </div>
</article>
<?php endforeach ?>
</div>
<?php endif ?>
</div>