쿼리 매개 변수로 전달 된 카테고리 ID별로 PRODUPLT를 가져옵니다
-
12-12-2019 - |
문제
URL http : //mydomain.test/카테고리 -NAME.HTML? CAT= 9,10,40 IDS 9, 10 및 40이있는 범주의 "범주 이름"범주의 모든 제품을 얻을 필요가 있습니다.
어떻게해야합니까?어쩌면 그런 확장자가있을 수 있습니까?
해결책
카테고리 9에 대한 모든 제품을 원한다면 다음을 수행 할 수 있습니다.
$category_id = 9;
$category = Mage::getModel('catalog/category')->load($category_id);
$products = Mage::getResourceModel('catalog/product_collection')
->setStoreId(Mage::app()->getStore()->getId())
->addCategoryFilter($category);
.
다른 범주에 대해이 작업을 수행 할 수 있습니다.
이렇게 할 수있는 제품을 인쇄하려면 다음과 같이하십시오 :
foreach ($products as $_product) { ?>
<a href="<?php echo $_product->getProductUrl() ?>">
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(200); ?>" width="200" height="200" alt="" />
</a>
<a href="<?php echo $_product->getProductUrl(); ?>">
<?php echo $_product->getName(); ?>
</a>
<?php } ?>
.
목록을 사용하려면 다음과 같이 시도하십시오.
$collection = Mage::getModel('catalog/product')
->getCollection()
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
->addAttributeToSelect('*')
->addAttributeToFilter('category_id', array(
array('finset' => '9'),
array('finset' => '10'),
array('finset' => '40')
)
->addAttributeToSort('created_at', 'desc');
. 제휴하지 않습니다 magento.stackexchange