首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento 2/Wordpress/Fishpig相关文章

Magento 2/Wordpress/Fishpig相关文章
EN

Stack Overflow用户
提问于 2017-06-27 21:48:30
回答 1查看 527关注 0票数 0

我目前正在尝试检索文章页面(单个帖子)上的相关帖子列表。我已经在/Block/Post/ListPost.php中创建了一个新函数

代码语言:javascript
复制
public function getRelatedPosts()
{
    $posts = $this->getPosts();

    die($this->getCategoryId());

    return $this->_postCollection;
}

但是,当我尝试输出getCategoryId时,什么也得不到。我也不确定如何将类别过滤器应用于帖子集合。

这里有人能给点建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-28 20:08:27

我不确定您是从哪里获得getCategoryId方法的,但这不是ListPost块类的一部分,因此无法工作。你不能只是发明这样的方法。

您应该检查block类中有哪些方法可用。一种简单的方法是在不加载文件的情况下将以下PHP添加到类中:

代码语言:javascript
复制
echo sprintf('<pre>%s</pre>', print_r(get_class_methods($this)));
exit;

你没有指定帖子应该以什么方式关联,但我猜你想要从相同的类别中获取帖子。要做到这一点,一种选择是加载帖子的主要类别,然后基于此获取帖子集合。如果查看Post类文件,您将看到getParentTerm($taxonomy)方法。

代码语言:javascript
复制
if ($category = $post->getParentTerm('category')) {
    $relatedPosts = $category->getPostCollection();

    // Remove the current post from the collection
    $relatedPosts->addFieldToFilter('ID', array('neq' => $post->getId()));
}

您应该始终查看您正在使用的类文件。这就是开源的美妙之处。您可以从字面上看到每个对象都有哪些方法可用,甚至可以看到它们是如何工作的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44782023

复制
相关文章

相似问题

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