Magento の AheadWorks ブログ拡張機能を使用していますが、ブログ ページは正常に動作しています。しかし、特定のカテゴリからの最新の投稿の抜粋をホームページに表示したいと考えています。以下を追加することで、これまでのところすべてを正常にセットアップしました。
<block type="blog/blog" name="blog.latest" template="aw_blog/blog-home.phtml" />
「layout.xml」に、以下を追加して:
<?php echo $this->getChildHtml('blog.latest') ?>
ホームページの phtml ファイルに追加し、「template/aw_blog/blog-home.phtml」を作成します。
問題は、表示されるカテゴリを制限する方法がわからないことです。たとえば、以下の「blog-home.phtml」ファイルを見ると、投稿を「ニュース」カテゴリに制限しようとしていることがわかります。他のフォーラムから多くの解決策を試しましたが、何をしても、すべてのカテゴリの投稿が表示されます。カテゴリを制限するためにコードに追加/削除する必要があることを誰かが知っていますか?
<?php $posts = $this->getPosts("news"); ?>
<div id="messages_product_view">
<?php Mage::app()->getLayout()->getMessagesBlock()->setMessages(Mage::getSingleton('customer/session')->getMessages(true)); ?>
<?php echo Mage::app()->getLayout()->getMessagesBlock()->getGroupedHtml(); ?>
</div>
<?php $numberOfPosts = 1 ?>
<?php $renderedPosts = 0 ?>
<?php foreach ($posts as $post): ?>
<div class="postWrapper">
<div class="postTitle">
<h2><a href="<?php echo $post->getAddress(); ?>" ><?php echo $post->getTitle(); ?></a></h2>
</div>
<div class="postContent"><?php echo $post->getPostContent(); ?></div>
<?php echo $this->getBookmarkHtml($post) ?>
<div class="tags"><?php echo $this->getTagsHtml($post) ?></div>
<div class="postDetails">
<?php if ($this->getCommentsEnabled()): ?>
<?php echo $post->getCommentCount(); ?> <a href="<?php echo $post->getAddress(); ?>#commentBox" >Comments</a> |
<?php endif; ?>
<?php $postCats = $post->getCats(); ?>
<?php echo "<h1>" . $postCats[2] . "</h1>"; ?>
<?php if (!empty($postCats)): ?>
<?php echo Mage::helper('blog')->__('Posted in'); ?>
<?php foreach ($postCats as $data): ?>
<a href="<?php echo $data['url']; ?>"><?php echo $data['title']; ?></a>
<?php endforeach; ?>
<?php else: ?>
<?php endif; ?></div>
<?php $renderedPosts ++ ?>
<?php if ($renderedPosts = $numberOfPosts) {
break;
}
?>
</div>
<?php endforeach; ?>
<?php //$this->getPages(); ?>