获取Fishpig博客中的相关产品数量

时间:2016-10-03 10:42:03

标签: magento blogs fishpig

我试图显示与fishpig中的博客相关联的产品数量。

我尝试了以下方法,但它返回了空值。

$post->getAssociatedProducts(); 

功能

public function getAssociatedProducts($post)
    {
        if ($post instanceof Fishpig_Wordpress_Model_Post) {
            $productIds = $this->_getAssociatedWpEntityIds($post->getId(), 'product', 'post', 'post_id');

            try {
                foreach($post->getParentCategories() as $category) {
                    $productIds = array_merge($productIds, $this->_getAssociatedWpEntityIds($category->getId(), 'product', 'category', 'category_id'));
                }
            }
            catch (Exception $e) {
                $this->log($e->getMessage());
            }
            if (count($productIds) > 0) {
                $collection = Mage::getResourceModel('catalog/product_collection');     
                Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
                $collection->addAttributeToFilter('status', 1);
                $collection->addAttributeToFilter('entity_id', array('in' => $productIds));

                return $collection;
            }
        }

        return false;
    }

这会返回产品数量吗?

1 个答案:

答案 0 :(得分:2)

您列出的功能不能返回null。唯一的返回类型是false或产品集合。

我搜索了代码库,并且该方法不属于任何存在的类的一部分,因此我不确定从何处获取它。也许它来自旧版本?

要使用最新版本的扩展程序获取帖子的关联产品,请使用以下内容:

// Get the associations helper
$associationsHelper = Mage::helper('wordpress/associations');

// Load a product collection based on $post
$products = $associationsHelper->getAssociatedProductsByPost($post);

// Get the number of products
$productCount = count($products);