按位置添加按自定义产品关系排序在magento中

时间:2015-06-25 07:00:39

标签: magento sorting position relationship product

我已经在magento中添加了自定义产品关系。我正在使用目录列表模板在自定义控制器上显示该关系的集合。

protected function _getProductCollection()
{
    if($_GET['product_id'])
    {
    if(isset($_GET['p'])){
    $curpage=  $_GET['p'];  
    }else{
    $curpage = 1 ;}
    if(isset($_GET['limit'])){
    $limit=  $_GET['limit'];  
    }else{
    $limit = 12 ;}
$productid=$_GET['product_id'];
        $product = Mage::getModel('catalog/product_link')
        ->getCollection()
        ->addFieldToFilter('link_type_id', 6)
        ->addFieldToFilter('product_id',$productid)
        ->load();
        $LinkedProduct=$product->getData();
        foreach($LinkedProduct as $LinkedProducts)
        { $LinkedProductId[]= $LinkedProducts['linked_product_id']; }
        $productIds = array_values($LinkedProductId);
        $_productCollection=Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*')
        ->addAttributeToFilter('entity_id', array('in' => $productIds))
        ->addAttributeToSort(trim($_GET['order']),$_GET['dir'])
        ->setCurPage($curpage)
        ->setPageSize($limit)
        ->load();
        //echo $_productCollection->getSelect() ; 
        $this->_productCollection=$_productCollection;
}
    return $this->_productCollection;
}

但按职位排序并不奏效。你能告诉我怎样才能实现这个目标。

1 个答案:

答案 0 :(得分:0)

根据Mage_Catalog_Model_Resource_Product_Collection,有一个setOrder($attribute, $dir = 'desc')方法可以完成这项工作。

顺便说一下,你应该在Magento上使用$_GET,更喜欢

$this->getRequest()->getParam('your-param-key', 'any default value if wanted')