0

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(); ?>
4

1 に答える 1