fishpig $ this- & gt; getPosts () не работает

Я хочу получить список авторов для своих сообщений в блоге, поэтому я настроил блок в своем 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(); ?>

возвращает ноль. Но на других страницах я могу получить сообщения. Есть идеи?

1

Решение

В XML-коде, который вы указали, почти отображаются все сообщения для данного автора (хотя сообщения не будут возвращены, поскольку модель Author не определена в реестре при загрузке гомоэпжажа), но не будет работать, так как первый блок, который вы определили, имеет неправильный тип блока (должен быть 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; ?>

Этот код загрузит всех пользователей и напишет список со ссылками на страницу каждого пользователя.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]