0

posts.phtml ブロッ​​ク (Fishpig を使用) 内の製品に関連付けられた関連カテゴリの投稿だけを除外するのに問題があります。投稿を取得するために次のソリューションを使用しようとしました。

Fishpig Wordpress Magento 投稿の問題

そのようです:

$categoryId = Mage::registry('wordpress_category')->getId();
$recentPostCollection = Mage::getModel('wordpress/post')->getCollection()
    ->addIsPublishedFilter()
    ->addCategoryIdFilter($categoryId)
    ->setOrder('post_date', 'desc')
    ->setPageSize($numPostsToShow)
;

次に、元の関連投稿ブロックを変更します。

<?php //$posts = $this->getPosts() ?>
<?php $posts = $recentPostCollection; ?>
<?php if (count($posts) > 0): ?>
    <div class="block block-blog block-recent-posts">
        <?php if ($title = $this->getTitle()): ?>
            <div class="block-title">
                <strong><span><?php echo $this->__($title) ?></span></strong>
            </div>
        <?php endif; ?>
        <div class="block-content">
            <ul id="<?php echo $this->getListId() ?>">
                <?php foreach($posts as $post): ?>
                    <li class="item">
                        <?php $image = $post->getFeaturedImage(); ?>
                        <img src="<?php echo $this->htmlEscape( $image->getAvailableImage() ) ?>" ?>
                    </li>
                <?php endforeach; ?>
           </ul>
           <script type="text/javascript">decorateList('<?php echo $this->getListId() ?>')</script>
        </div>
    </div>
<?php endif; ?>

そして、まあ、それはうまくいきません。$categoryID に静的な数値を入れると、少なくとも $recentPostCollection にデータを取得できますが、そのデータ構造ではループが機能しません...どんな助けも素晴らしいでしょう! ありがとう。

4

1 に答える 1

0
magento fishpig related posts display by category:->
<?php $categories = $post->getTermCollection('category') ?>
    <?php if (count($categories) > 0): ?>
    <?php foreach($categories as $category): ?>
        <?php $getCategory = $this->escapeHtml($category->getId()); ?>
        <div id="inhouse-tab"><?php echo Mage::getSingleton('core/layout')->createBlock('wordpress/sidebar_widget_posts')->setTemplate('wordpress/sidebar/widget/categoryposts.phtml')->setCategoryId($getCategory)->setPostCount(4)->toHtml(); ?></div>
        <?php break; ?>
        <?php endforeach; ?>
        <?php endif; ?>
于 2016-08-27T08:28:01.947 に答える