如何在非商店页面上显示产品价格

时间:2019-09-05 10:54:55

标签: product odoo qweb odoo-12

我想在非商店页面上为用户显示所有可用产品的价格。

如果我查看商店页面上产品展示的代码,它将得到以下内容:

<span t-if="product.price" t-esc="product.price" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>

在另一页上,我使用以下代码调用产品:

<t t-set="products" t-value="request.env['product.template'].search([])"/>
<t t-foreach="products" t-as="product_template">
    <span t-if="product_template.price" t-esc="product_template.price" t-options="{'widget': 'monetary', 'display_currency': website.currency_id}"/>
</t>

这不显示产品价格。如果删除t-if="product_template.price",则会显示0.00 $。因此未设置product_template.price吗?

我应该叫<t t-call="website_sale"/>之类的东西吗?

感谢您的帮助!

修改

在其他产品页面上,调用类js_sale oe_website_sale oe_product oe_product_price oe_price_h4。所以我尝试了这个:

<div id="wrap" class="js_sale">
  <div class="oe_website_sale">
        <t t-set="products" t-value="request.env['product.product'].search([['id', '=', 135]])"/>
        <div t-foreach="products" t-as="product" class="oe_product oe_grid">
          <div class="oe_product_price product_price">
             <h4 class="oe_price_h4">
                <span t-esc="product.price"/>
            </h4>
          </div>
        </div>
      </div>
</div>

但这仍然行不通。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

“非商店”页面是什么意思?没有模板? 那么据我所知,您不能使用qweb语言。

如何使用类似的东西:

<field name="product.price" ... />