fishpig $ this-> getPosts()无效

时间:2015-03-06 19:48:43

标签: php wordpress magento fishpig

我想获得我的博客文章的作者列表,所以我在local.xml中设置了一个块,并尝试以下内容:

<wordpress_homepage>
    <reference name="root">
        <block type="wordpress/post_list" name="wordpress_author" template="wordpress/homepage/author/view.phtml">
            <block type="wordpress/post_list" name="wordpress_post_list" template="wordpress/post/list.phtml">
                <block type="wordpress/post_list_pager" name="wordpress_post_list_pager"/>
            </block>
        </block>
    </reference>
</wordpress_homepage>

我的xml块但在我的view.phtml文件中:

<?php $posts = $this->getPosts(); ?>

返回null。但在其他页面我可以得到帖子。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您提供的XML代码几乎显示给定作者的所有帖子(尽管由于在加载同名时未在注册表中定义作者模型,因此不会返回任何帖子)但不会作为您定义的第一个块具有错误的块类型(它应该是wordpress / author_view)。

根据您的解释,您似乎确实希望列出您网站上的所有作者,而不是特定作者的博客帖子列表。为此,以下代码应该有所帮助:

<?php $authors = Mage::getResourceModel('wordpress/user_collection')->load() ?>
<?php if (count($authors) > 0): ?>
  <ul>
    <?php foreach($authors as $author): ?>
      <li>
        <a href="<?php echo $author->getUrl() ?>">
          <?php echo $this->escapeHtml($author->getDisplayName()) ?>
        </a>
      </li>
    <?php endforeach; ?>
  </ul>
<?php endif; ?>

此代码将加载所有用户并写出包含每个用户页面链接的列表。