尝试使用Fishpig Wordpres / Magento插件专门为特定术语设置模板。
我有一个名为' Business'的自定义帖子类型。并且具有特定于此帖子类型的类别。
在/app/design/frontend/themes/default/layout/wordpress.xml我有以下内容,为我的所有类别术语呈现模板:
<wordpress_term_view>
<reference name="content">
<block type="wordpress/term_view" name="wp.term" template="wordpress/term/view.phtml">
<block type="wordpress/post_list" name="wordpress_post_list" as="post_list" template="wordpress/post/list.phtml" />
</block>
</reference>
</wordpress_term_view>
但我需要的是针对特定类别的不同模板&#39;高管访谈&#39;。
您可以在此处 http://staging-ce.beanmediagroup.com.au/business/category/executive-interviews/看到此信息。
我尝试了什么
我知道你可以使用像&#39;&#39;这样的东西来设置一个独特的页面视图。但这不适用于术语ID。
我也知道您可以使用/wordpress/post/list/renderer/business.phtml
之类的内容为自定义帖子类型设置自定义帖子列表模板,但这不适用于这些条款。
任何帮助都将不胜感激。
答案 0 :(得分:0)
如果您检查此文件: app / code / community / Fishpig / Wordpress / controllers / TermController.php viewAction ,您可以看到它正在添加自定义布局句柄:< / p>
'wordpress_' . $term->getTaxonomyType() . '_view_' . $term->getId(),
'wordpress_' . $term->getTaxonomyType() . '_' . $term->getId()
这意味着,在 app / design / frontend / themes / default / layout / wordpress.xml 中,如果所需类别的ID为2,则可以添加特定于此的新句柄类别:
<wordpress_category_view_2>
<reference name="content">
<block type="wordpress/term_view" name="wp.term" template="wordpress/term/view.phtml">
<block type="wordpress/post_list" name="wordpress_post_list" as="post_list" template="wordpress/post/list/renderer/business.phtml" />
</block>
</reference>
</wordpress_category_view_2>
//OR
<wordpress_category_2>
<reference name="content">
<block type="wordpress/term_view" name="wp.term" template="wordpress/term/view.phtml">
<block type="wordpress/post_list" name="wordpress_post_list" as="post_list" template="wordpress/post/list/renderer/business.phtml" />
</block>
</reference>
</wordpress_category_2>
//OR
<STORE_default_wordpress_category_view_2>
<reference name="content">
<block type="wordpress/term_view" name="wp.term" template="wordpress/term/view.phtml">
<block type="wordpress/post_list" name="wordpress_post_list" as="post_list" template="wordpress/post/list/renderer/business.phtml" />
</block>
</reference>
</STORE_default_wordpress_category_view_2>
//OR
<STORE_default_wordpress_category_2>
<reference name="content">
<block type="wordpress/term_view" name="wp.term" template="wordpress/term/view.phtml">
<block type="wordpress/post_list" name="wordpress_post_list" as="post_list" template="wordpress/post/list/renderer/business.phtml" />
</block>
</reference>
</STORE_default_wordpress_category_2>
只需使用您的类别ID更改2。
答案 1 :(得分:0)
zokibtmkd的帖子非常正确,他们找到布局句柄的方法很好(通过代码直到找到答案),但是你不需要重新定义所有的XML块,只能引用他们改为。此外,您不需要通过XML设置帖子列表渲染器模板,因为最新版本的扩展程序会自动选择它。
首先让我们看一下更改术语的帖子列表包装器模板(默认为wordpress / term / view.phtml)。
<!--
/**
* Change the wrapper template for 'category' with an ID of 2
* Change '2' to the ID you wish to target
* Change 'category' to the taxonomy name
**/
-->
<wordpress_category_view_2>
<reference name="wp.term">
<action method="setTemplate">
<template>wordpress/term/custom-template.phtml</template>
</action>
</reference>
</wordpress_category_view_2>
现在让我们看一下如何更改帖子列表渲染模板。
可以通过XML执行此操作,因为zokibtmkd说明了最新版本的Magento WordPress Integration不需要这样做。相反,扩展名将采用帖子类型(在这种情况下,我认为帖子类型是'business'),然后在wordpress / post / list / renderer目录中查找此名称的模板。 要更改此帖子类型的帖子列表模板,请在wordpress / post / list / renderer / business.phtml
创建一个文件最后,如果您想更改“商家”帖子类型的帖子后视图模板,您可以在wordpress / post / view / business.phtml创建一个文件。