0

Fishpig Wordpres/Magento プラグインを使用して、特定の用語専用のテンプレートを設定しようとしています。

「ビジネス」というカスタム投稿タイプがあり、この投稿タイプに固有のカテゴリがあります。

/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>

しかし、私が必要としているのは、特定のカテゴリ「エグゼクティブ インタビュー」用の別のテンプレートです。

これはここで見ることができますhttp://staging-ce.beanmediagroup.com.au/business/category/executive-interviews/ .

私が試したこと

'' のようなものを使用して一意のページ ビューを設定できることは知っていますが、これは用語 ID では機能しません。

また、次のようなものを使用してカスタム投稿タイプのカスタム投稿リスト テンプレートを設定できることも知っていますが/wordpress/post/list/renderer/business.phtml、これは用語では機能しません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

このファイルを確認すると: app/code/community/Fishpig/Wordpress/controllers/TermController.phpviewActionで、カスタム レイアウト ハンドルが追加されていることがわかります。

'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>

2 をカテゴリの ID に変更するだけです。

于 2015-09-28T11:31:18.357 に答える
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>

それでは、投稿リストのレンダリング テンプレートを変更する方法を見てみましょう。

zokibtmkd が述べたように XML 経由でこれを行うことは可能ですが、Magento WordPress 統合の最新バージョンではこれは必要ありません。代わりに、拡張機能は投稿タイプ (この場合、投稿タイプは「ビジネス」だと思います) を取得し、wordpress/post/list/renderer ディレクトリでこの名前のテンプレートを探します。この投稿タイプの投稿リスト テンプレートを変更するには、wordpress/post/list/renderer/business.phtml にファイルを作成します。

最後に、「ビジネス」投稿タイプの投稿ビュー テンプレートを変更する場合は、wordpress/post/view/business.phtml にファイルを作成します。

于 2015-09-29T09:22:31.880 に答える