我正在尝试在Magento网站的主页上创建一个滑块。我对Magento来说是全新的,并且在我意识到我跳到最深处之后还有其他人在我们的团队中编写大部分内容。
我的问题:我正在尝试从WP中提取自定义帖子(使用付费的高级自定义字段扩展名)来显示将进入滑块的图像。
我陷入了最基本的部分 - 拉入Wordpress帖子列表。
我创建了一个新文件:mytemplatedirectory / default / template / home / slider.phtml with
<?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的文档使这非常简单)。
提前致谢!对不起这样的业余问题。
答案 0 :(得分:2)
您正在使用的块类型不包含getPosts()方法,这是您调用此方法的原因。如果将块类型更改为'wordpress / sidebar_widget_posts',则对getPosts的调用将返回一个post集合对象。
以下链接详细介绍了如何包含此块以及您可以使用它执行的操作:
答案 1 :(得分: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网站。