category ID
に属するすべての製品を、バックエンドで設定されているPosition
の順番で取得しようとしています。Magentoは、特定のカテゴリのすべての製品を '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());
}
私はこれをどのように実現するのでしょうか?これは$product_id = $position
の配列を返す必要があり
$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());
}
Magento-1.8ではまだ参考になっています。 –
@WilliamIstedを続行するには、これは1.9でもまだ動作しています。 – Leonidas
参照のために、それはEE 1.13.1のために働いています – rramiii