Fishpig Magento - 为自定义帖子类型术语视图

时间:2015-09-28 07:18:31

标签: wordpress magento fishpig

尝试使用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之类的内容为自定义帖子类型设置自定义帖子列表模板,但这不适用于这些条款。

任何帮助都将不胜感激。

2 个答案:

答案 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创建一个文件。