특정 속성이있는 제품을 어떻게 나열합니까? 예를 들어 Size가 기본 속성 세트의 속성 인 경우입니다. 그러면 Size = 22 인 모든 제품을 어떻게 나열합니까?magento의 속성으로 제품 필터링
Google에서 답변을 검색하고 있으며 답변을 찾을 경우 답변으로 게시합니다.
감사합니다,
발안 예를 들어
특정 속성이있는 제품을 어떻게 나열합니까? 예를 들어 Size가 기본 속성 세트의 속성 인 경우입니다. 그러면 Size = 22 인 모든 제품을 어떻게 나열합니까?magento의 속성으로 제품 필터링
Google에서 답변을 검색하고 있으며 답변을 찾을 경우 답변으로 게시합니다.
감사합니다,
발안 예를 들어
:
이 잘 작동 나를 위해$storeId = Mage::app()->getStore()->getId();
$products = Mage::getResourceModel('catalog/product_collection');
$products->addAttributeToFilter(array(
array('attribute' => 'attribute_code', 'eq' => 22)))
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->setOrder('name', 'desc');
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products);
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products);
$this->setProductCollection($products);
.
카탈로그 제품이이 용도로만 만들어진 것은 아닙니다. 정적 테이블 (Catalog_product_entity)에서 속성 크기를 이동하는 것이 가장 좋습니다. 그러면 카탈로그를 빠르게 유지하면서 크기별로 검색 할 수 있습니다. 이후에 다른 속성에서이 작업을 수행하려는 경우 컬렉션의 매개 변수로 지정할 수 있습니다. 그러나 나는 그것에 대해 확신하지 못한다. A의 단순
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter("Size", "1");
그런
$storeId = Mage::app()->getStore()->getId();
모든 제품은 크기를 제외한 모든 것을 필터링 얻으려면 : 난 그냥 상점 ID를 얻으려면 너무 오래 전에
을 이런 짓을foreach 루프는 다음을 추가합니다 (배열 $ _productCollection을 통해 루프합니다)
foreach($_productCollection as $_product)
{
$attr = Mage::getResourceModel('catalog/product')->getAttributeRawValue($_product->getId(), 'Size', $storeId);
if($attr == '22')
{
//Echo names of the products
echo $_product->getName();
}
}
이렇게하면 엄격한 제품 목록 없이도 제품 목록을 많이 볼 수 있습니다. 원하는 경우 이름, 가격 및 기타 속성을 추가 할 수 있습니다. 희망이 도움이! "치명적인 오류 :이 코드를 사용할 때
내가 오류를 얻을 /app/code/core/Mage/Eav/Model/Entity/Abstract.php에서 비 객체에() 멤버 함수의 getBackend에 전화 라인 816 " – balanv