Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Как получить массив товаров из специфической категории? 
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Как получить массив товаров из специфической категории? Можно по ид или названию.

 
Magento Community Magento Community
Magento Community
Magento Community
 
ogonkov
Guru
 
Total Posts:  582
Joined:  2009-03-25
Moscow, Russia
 

добавить в конец ссылки ?cat=ID grin

Вообще же, фиг знает можно ли этого стандартными функциями добиться.

Может что-то типа
foreach ($_productCollection as $_product)
echo $_product->getProductID()

Если я правильно понимаю. Надо посмотреть пристально на /app/design/frontend/default/modern/template/catalog/ я думаю.

Кстати, через секси Data Flow можно же экспорт продуктов с заданными полями делать wink

 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Там нужно от модели вызывать getproduct collection() и чтото указывать в параметрах чтобы была специфическая категория. Только я не знаю название модели и как выровнять по категории.

 
Magento Community Magento Community
Magento Community
Magento Community
 
ogonkov
Guru
 
Total Posts:  582
Joined:  2009-03-25
Moscow, Russia
 

может попробовать задать перед вызовом коллекции $_category?

 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Не совсем вас понимаю. Поясните

 
Magento Community Magento Community
Magento Community
Magento Community
 
ogonkov
Guru
 
Total Posts:  582
Joined:  2009-03-25
Moscow, Russia
 

Ну задать переменную $_category = ‘id’

В шаблонах что-то подобное есть

 
Magento Community Magento Community
Magento Community
Magento Community
 
ogonkov
Guru
 
Total Posts:  582
Joined:  2009-03-25
Moscow, Russia
 

Кстати, а это вот не поможет?

 
Magento Community Magento Community
Magento Community
Magento Community
 
TaganPablo
Sr. Member
 
Avatar
Total Posts:  114
Joined:  2009-03-18
Russian Federation, Taganrog
 

добавляете в блок (не в phtml ) функцию

public function getCategoryProductsCollection($category_id = ‘’, $size = 0)
{
//$category = Mage::getResourceModel(’catalog/category_collection’)->addAttributeToFilter(’entity_id’, $category_id);
//$category = $categories_collection->getFirstItem();

$products = Mage::getResourceModel(’catalog/product_collection’)
->addAttributeToSelect("*")
->addAttributeToFilter(’visibility’, array(
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG))
->addAttributeToFilter(’status’, Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToFilter(array(array(’attribute’=>’category_ids’, ‘like’=>’%,’.$category_id.’,%’),array(’attribute’=>’category_ids’, ‘like’=>$category_id.’,%’),array(’attribute’=>’category_ids’, ‘like’=>’%,’.$category_id),array(’attribute’=>’category_ids’, ‘like’=>$category_id)))
->setPageSize($size)
->setCurPage(0);

$products->getSelect()->order(’RAND()’);
return $products;
}

а потом вызываете её в phtml который привязан к этому блоку (cms/glagne.phtml) - $_productCollection = $this->getCategoryProductsCollection(5, 4);

привязка к блоку осуществляется в xml - что-то вроде <block type="name_of_module/catalog_homepage" name="glagne" template="cms/glagne.phtml" />

если не програмите на модулях - попробуйте просто в phtml

$products = Mage::getResourceModel(’catalog/product_collection’)
->addAttributeToSelect("*")
->addAttributeToFilter(’visibility’, array(
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG))
->addAttributeToFilter(’status’, Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToFilter(array(array(’attribute’=>’category_ids’, ‘like’=>’%,’.$category_id.’,%’),array(’attribute’=>’category_ids’, ‘like’=>$category_id.’,%’),array(’attribute’=>’category_ids’, ‘like’=>’%,’.$category_id),array(’attribute’=>’category_ids’, ‘like’=>$category_id)))
->setPageSize($size)
->setCurPage(0);

криво это всё конечно, но работает…

 
Magento Community Magento Community
Magento Community
Magento Community
 
TaganPablo
Sr. Member
 
Avatar
Total Posts:  114
Joined:  2009-03-18
Russian Federation, Taganrog
 

полный код блока

class Oggetto_Bytelove_Block_Catalog_Homepage extends Mage_Catalog_Block_Product_List
{
public function getCategoryProductsCollection($category_id = ‘’, $size = 0)
{
//$category = Mage::getResourceModel(’catalog/category_collection’)->addAttributeToFilter(’entity_id’, $category_id);
//$category = $categories_collection->getFirstItem();

$products = Mage::getResourceModel(’catalog/product_collection’)
->addAttributeToSelect("*")
->addAttributeToFilter(’visibility’, array(
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG))
->addAttributeToFilter(’status’, Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToFilter(array(array(’attribute’=>’category_ids’, ‘like’=>’%,’.$category_id.’,%’),array(’attribute’=>’category_ids’, ‘like’=>$category_id.’,%’),array(’attribute’=>’category_ids’, ‘like’=>’%,’.$category_id),array(’attribute’=>’category_ids’, ‘like’=>$category_id)))
->setPageSize($size)
->setCurPage(0);

$products->getSelect()->order(’RAND()’);
return $products;
}
}

и соответственно блок не может жить сам и должен принадлежать модулю…

 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

ОГО! круто! чё то у меня подписка магентовская не сработала! Спасибо за проделанную работу обязательно кому то пригодиться smile

 
Magento Community Magento Community
Magento Community
Magento Community
 
lemaryn
Member
 
Avatar
Total Posts:  61
Joined:  2009-01-30
Ukraine
 

Если статическая страница в админке , то можна вставить в ее тело следующий код

{{block type="catalog/product_list"  category_id="161" template="catalog/product/list.phtml"}}

где category_id - собственно ид категории

 
Magento Community Magento Community
Magento Community
Magento Community
 
alesto
Guru
 
Total Posts:  624
Joined:  2009-03-21
 

Ну блок который вы привели в качестве примера мне не подходит - мне нужен именно массив товаров. Ну а вообще задача решена уже давно smile

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top