6

我只是想按照后端设置category ID的顺序获取属于某个特定的所有产品。Position

我似乎尝试了所有可用的示例,但无济于事。

我正在使用的基本代码如下(手动加载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());
}

我怎样才能做到这一点?

4

2 回答 2

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() );
}
于 2013-01-14T13:44:13.733 回答
2
$product_position_array = Mage::getModel('catalog/category')->load($CategoryID)->getProductsPosition();

这应该返回一个数组$product_id = $position

于 2014-07-19T05:01:20.920 回答