odoo Web サイトでは、製品リストのビューをグリッドからリスト ビューに切り替えることができます。ただし、カスタマイズ セクションからビューをオンにすると、製品グリッド ビューが置き換えられます。以下は、グリッド ビューをリスト ビューに置き換える行です。
<xpath expr="//div[@id='products_grid']//table" position="replace">
<t t-foreach="products" t-as="product">
<div class="oe_product oe_list oe_product_cart" t-att-data-publish="product.website_published and 'on' or 'off'">
<t t-call="website_sale.products_item">
<t t-set="show_publish" t-value="True" />
</t>
</div>
</t>
</xpath>
ビューを切り替えることができるように、製品グリッドとリストの両方のビューを表示するにはどうすればよいですか?
ビューを継承して、両方をカスタム モジュールの新しいテンプレートに配置できます。お気に入り :
<!--- THE GRID VIEW -->
<table width="100%">
<tbody>
<tr t-ignore="true">
<td t-foreach="range(0,rows)" t-as="row" t-attf-width="#{100/rows}%"></td>
</tr>
<tr t-foreach="bins" t-as="tr_product">
<t t-foreach="tr_product" t-as="td_product">
<t t-if="td_product">
<t t-set="product" t-value="td_product['product']" />
<td t-att-colspan="td_product['x'] != 1 and td_product['x']" t-att-rowspan="td_product['y'] != 1 and td_product['y']" t-attf-class="oe_product oe_grid oe-height-#{td_product['y']*2} #{ td_product['class'] }">
<div class="oe_product_cart" t-att-data-publish="product.website_published and 'on' or 'off'">
<t t-set="product_image_big" t-value="td_product['x']+td_product['y'] > 2" />
<t t-call="website_sale.products_item" />
</div>
</td>
</t>
<td t-if="not td_product" class="oe-height-2" />
</t>
</tr>
</tbody>
</table>
<!--- THE LIST VIEW -->
<t t-foreach="products" t-as="product">
<div class="oe_product oe_list oe_product_cart" t-att-data-publish="product.website_published and 'on' or 'off'">
<t t-call="website_sale.products_item">
<t t-set="show_publish" t-value="True" />
</t>
</div>
</t>
では、これにトグル ビューを実装するにはどうすればよいでしょうか。