首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取每个类别Magento Fishpig的最新帖子

获取每个类别Magento Fishpig的最新帖子
EN

Stack Overflow用户
提问于 2018-03-20 06:44:28
回答 1查看 744关注 0票数 0

我有一个成功的鱼猪融合到magento 2。

现在我需要让博客页面显示每个类别的最新文章。

Ex:如果我有5个类别(没有显示未分类的类别),我需要显示每个类别的最新帖子。

我怎么能用鱼猪做这件事?

我尝试从FishPig/WordPress/view/frontend/templates/post.修改list.phtml文件到目前为止,我只能从任何类别获得最新的帖子(如果我在一个类别中有最新的帖子,我就会得到它们)。不是每个职类最近的员额)。

这就是我目前掌握的密码..。

代码语言:javascript
复制
<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance() ?>
<?php $posts = $objectManager->create('FishPig\WordPress\Model\ResourceModel\Post\Collection')
->addPostTypeFilter('post')
->setOrderByPostDate()
->addIsViewableFilter()
->setPageSize(5)
->load();    
?>

<?php if (count($posts) > 0): ?>
<ul>
<?php foreach($posts as $post): ?>
<li>
<a href="<?php echo $post->getUrl() ?>"><?php echo $this->escapeHtml($post->getPostTitle()) ?></a>
<?php if ($image = $post->getFeaturedImage()): ?>
<a href="<?php echo $post->getUrl() ?>">
<img src="<?php echo $image->getAvailableImage() ?>" src="<?php echo $this->escapeHtml($post->getPostTitle()) ?>" />
</a>
<?php endif; ?>
<p><?php echo $post->getPostExcerpt(40) ?></p></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>

我应该如何修改它以实现我所需要的?请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2018-03-22 09:27:02

你想要什么?默认情况下,该模块将显示每个类别页面,并按降序日期顺序列出该类别中的所有帖子。你想复制这个吗?

如果是这样的话,请看一下术语模型。您可以加载一个类别集合,然后在其上调用getPostCollection()来获取该术语/类别的帖子。

代码语言:javascript
复制
<?php $terms = $objectManager->get('FishPig\WordPress\Model\ResourceModel\Term\CollectionFactory')->create() ?>
<?php $terms->addTaxonomyFilter('category')->load() ?>
<?php   if (count($terms) > 0): ?>
    <ul>
        <?php foreach($terms as $term): ?>
            <?php if ((int)$term->getId() === 1): ?><?php /* This is the uncategorized category, so skip */ continue; ?><?php endif; ?>
            <?php $posts = $term->getPostCollection()->setPageSize(5)->setOrderByPostDate()->addIsViewableFilter()->load() ?>
            <?php if (count($posts) > 0): ?>
                <li>
                    <h2><a href="<?php echo $term->getUrl() ?>"><?php echo $term->getName() ?></a></h2>
                    <ul>
                        <?php foreach($posts as $post): ?>
                            <li>
                                <?php /* Standard post code here */
                            </li>
                        <?php endforeach; ?>
                    </ul>
                </li>
            <?php endif; ?>
        <?php endforeach; ?>
    </ul>
<?php endif; ?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49377806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档