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

问题描述 投票:0回答:1

我正在尝试显示与 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;
    }

这会返回产品数量吗?

php magento blogs fishpig
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.