1

我正在尝试在我的 Magento 网站的主页上创建一个滑块。我对 Magento 完全陌生,并且在意识到我跳到了多么深的尽头之后,我们团队中的其他人对大部分内容进行了编码。

我的问题:我正在尝试从 WP 中提取自定义帖子(带有付费的高级自定义字段扩展)以显示将进入滑块的图像。

我被困在最基本的部分——拉入一个 Wordpress 帖子列表。

我创建了一个新文件:mytemplatedirectory/default/template/home/slider.phtml

<?php $posts = $this->getPosts() ?>
<?php foreach ($posts as $_post) : ?>
     <?php echo $post->getPostContent() ?>
<?php endforeach ?>

我把它放到 Magento 管理员的 CMS 页面中:

{{block type="core/template" template="home/slider.phtml"}}

但即使是默认帖子也没有出现。

如果有人有任何指导将非常有帮助。开始的步骤让我很失望,但如果能帮助拉出自定义帖子和高级自定义字段也很好(尽管似乎 Fishpig 的文档使这变得非常简单)。

提前致谢!抱歉问了这么一个业余的问题。

4

2 回答 2

2

您使用的块类型不包括 getPosts() 方法,这就是您调用 this 的原因。如果您将块类型更改为“wordpress/sidebar_widget_posts”,则对 getPosts 的调用将返回一个帖子集合对象。

以下链接详细说明了如何包含此块以及您可以使用它做什么:

在 Magento 主页上显示 WordPress 博客文章

于 2014-03-18T07:37:41.440 回答
1

在 Ben 的帮助下解决了这个问题(我相信他是出色的 Fishpig 扩展的创建者)。

我创建了一个自定义帖子(使用 WP 的自定义帖子类型 UI 插件)和一个自定义字段(使用 WP 的高级自定义字段插件)。

在我在内容区域中添加的 CMS 主页上

{{block type="wordpress/sidebar_widget_posts" name="wordpress.widget.recent_posts" post_count="5" post_type="slider_home" template="wordpress/sidebar/widget/slider_home.phtml"}}

在那个块中,slider_home 是我的帖子类型,slider_home.phtml 是我创建的一个新文件,它从 wordpress/sidebar/widget/posts.phtml 中提取代码,但可以根据我的需要对其进行自定义。

在 slider_home.phtml 的循环中,我取出了当前存在的内容并添加了:

<?php $image = $post->getMetaValue('image'); ?>
<?php $url = $post->getMetaValue('url'); ?>
<a href="<?php echo $url; ?>" target="_blank">
  <img src="<?php echo $image; ?>" />
</a>

这是拉入我在 Wordpress 中制作的自定义字段。完美运行,现在我的客户将能够通过 Wordpress CMS 更新他们的 Magento 网站。

于 2014-03-18T18:32:11.213 回答