Magento将所有产品按"位置"字段排序

Gga*_*Gga 6 php magento magento-1.7

我只是想按照它们在后端设置category IDPosition顺序来获取属于某个特定产品的所有产品.

我似乎已经尝试了所有可用的例子无济于事.

我正在使用的基本代码如下(手动加载magento的外部php文件):

// Load Magento
require_once $_SERVER['DOCUMENT_ROOT'] . "/app/Mage.php";
umask(0);
Mage::app();
// set Store ID
$store_id = Mage::app()->getStore()->getStoreId();
// set Cat ID
$cat_id = 345;


$cat = Mage::getModel('catalog/product')->setId(345);

$products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addCategoryFilter($cat)
    ->addAttributeToSelect("*")
    ->setOrder('name','asc')
    ->load();

foreach($products as $p) {
    var_dump($p->getName());
}
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这个目标?

Gga*_*Gga 20

这是最终奏效的:

$cat_id = 345;

$category = Mage::getModel('catalog/category')->load($cat_id);
$collection = $category->getProductCollection()->addAttributeToSort('position');
Mage::getModel('catalog/layer')->prepareProductCollection($collection);

foreach ($collection as $product) {
    var_dump( $product->getName() );
}
Run Code Online (Sandbox Code Playgroud)

  • 这仍然适用于Magento-1.8以供参考. (4认同)