Wordpress 从不同的块访问帖子列表

Wordpress 从不同的块访问帖子列表,wordpress,magento,fishpig,Wordpress,Magento,Fishpig,你好 我试图在Wordpress(fishpig)主页上实现一个滑块。我创建了一个新的phtml模板,并在xml文件中添加了一个滑块。到目前为止还不错,标记被呈现到我想要的主页上 但是循环没有运行,显然是因为$this->getPosts()引用的类与Fishpig\u Wordpress\u Block\u Post\u列表不同 $this->getPosts() 我的问题是如何从核心/模板滑块中访问帖子列表?我对Magento完全是新手,所以我刚刚开始了解块的概念以及整个模板系统是如何工作的

你好

我试图在Wordpress(fishpig)主页上实现一个滑块。我创建了一个新的phtml模板,并在xml文件中添加了一个滑块。到目前为止还不错,标记被呈现到我想要的主页上

但是循环没有运行,显然是因为$this->getPosts()引用的类与Fishpig\u Wordpress\u Block\u Post\u列表不同

$this->getPosts() 我的问题是如何从核心/模板滑块中访问帖子列表?我对Magento完全是新手,所以我刚刚开始了解块的概念以及整个模板系统是如何工作的

我试过了

$className = Mage::getConfig()->getBlockClassName('Fishpig_Wordpress_Block_Post_list'); $block = new $className(); $block->getPosts(); $className=Mage::getConfig()->getBlockClassName('Fishpig_Wordpress_Block_Post_list'); $block=new$className(); $block->getPosts(); 及

$this->getLayout()->getBlockSingleton('Fishpig_Wordpress_Block_Post_list')->getPosts();
但是没有用。有人能给我指出正确的方向吗?

在XML中包含新块和模板时,将块类型更改为“wordpress/sidebar\u widget\u posts”。这将允许您使用getPosts()方法

或者,您可以直接在模板中构建自己的帖子集合:

<?php $posts = Mage::getResourceModel('wordpress/post_collection')
    ->addIsViewableFilter()
    ->setOrderByPostDate()
    ->load() ?>
<?php if (count($posts) > 0): ?>
    <ul>
        <?php foreach($posts as $post): ?>
            <li class="item">
                <a href="<?php echo $post->getPermalink() ?>">
                    <?php echo $this->escapeHtml($post->getPostTitle()) ?>
                </a>
            </li>
        <?php endforeach; ?>
    </ul>
<?php endif; ?>


非常感谢!我同意你的第二个解决方案。请注意:我得到一个错误,addisViewFilter()方法未定义。我无法立即在模型文件中找到类似的方法,所以我暂时将其忽略。
<?php $posts = Mage::getResourceModel('wordpress/post_collection')
    ->addIsViewableFilter()
    ->setOrderByPostDate()
    ->load() ?>
<?php if (count($posts) > 0): ?>
    <ul>
        <?php foreach($posts as $post): ?>
            <li class="item">
                <a href="<?php echo $post->getPermalink() ?>">
                    <?php echo $this->escapeHtml($post->getPostTitle()) ?>
                </a>
            </li>
        <?php endforeach; ?>
    </ul>
<?php endif; ?>