2015-01-13 3 views
3

사용자가 로그인하고 위시리스트 링크를 클릭하면 제품이 표시됩니다. 그러나 장애인 제품도 표시합니다. 활성화 된 제품 만 위시리스트에 표시하고 싶습니다. 위시리스트 영역에 활성화 된 제품 만 표시되도록 코드를 변경하는 방법을 제안 할 수 있습니까?마젠타 색으로 활성화 된 제품만을 표시 위시리스트

답변

1

상태를 기준으로 필터를 추가하여 Mage_Wishlist_Model_Wishlist 클래스를 확장하고 getItemCollection 메서드를 재정의해야 할 수 있습니다. 이 장애인 제품을 위시리스트 페이지에서뿐만 아니라 잠재적에서뿐만 아니라 위시리스트 항목의 컬렉션을로드 할 때마다 제외 것이라고

$this->_itemCollection = Mage::getResourceModel('wishlist/item_collection') 
      ->setStoreId($this->getStore()->getId()) 
      ->addWishlistFilter($this) 
      ->addAttributeToFilter(
       'status', 
        array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED) 
      ); 

참고 :이 같은 뭔가 (테스트되지 않은, 단지 마지막 메소드 호출을 추가) 당신이 그것을 보여주고있는 어떤 장소, 나는 당신이 원하는 것이라고 생각합니다.

+0

예 모든 제품에서 사용 가능한 제품 만 표시하고 싶습니다. 하지만 코드가 제공하지 않습니다. 내가 그것을 사용할 때 나는이 오류가있다. 정의되지 않은 방법 Mage_Wishlist_Model_Resource_Item_Collection에 전화 : setStoreId() 내가 그것을 정의되지 않은 방법 Mage_Wishlist_Model_Resource_Item_Collection이 오류 전화 : addAttributeToFilter() –

+0

대신 addAttributeToFilter''의'addFieldToFilter'과 시도를 표시보다 setStoreId() 라인을 언급하면? –

+1

오류가 계속 발생합니다. 'where 절'에서 알 수없는 'status'열 –

관련 문제