简体   繁体   中英

How to show only those products on Website which have Quantity in Hand in Odoo 10?

I am new to Odoo. I want to show only those products on E-commerce Website which have quantity in hand greater than 0. I am using Odoo 10.

How can I do this?

My code is:

<div class="row">
      <div class="hidden" id="products_grid_before"/>
      <div class="col-md-12 col-xs-6" id="products_grid">
        <table width="100%">
          <tbody>
            <tr t-ignore="true">
              <td t-foreach="range(0,rows)" t-as="row" t-attf-width="#{100/rows}%"/>
            </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'] &gt; 2"/>
                      <t t-call="website_sale.products_item"/>
                      <t t-cell="website_sale.products_item"/>
                    </div>
                  </td>
                </t>
                <td t-if="not td_product" class="oe-height-2"/>
              </t>
            </tr>
          </tbody>
        </table>
        <t t-if="not bins">
          <div class="text-center text-muted oe_product">
            <h3 class="css_editable_display">No product defined.</h3>
            <p groups="sales_team.group_sale_manager">Click 
                                <i>'New'</i> in the top-right corner to create your first product.
                            </p>
          </div>
        </t>
      </div>
    </div>
    <div class="products_pager">
      <t t-call="website.pager"/>
    </div>
  </div>

Just add following code where you are displaying your products.

<t t-if="td_product.qty_available >= 0">

    executable statement..

</t>

Actually, you will have issues achieving this from the template as the products on the website are, by default, fetched regardless of their quantity.

Solution will be to do it on the server side: Include ('qty_available','>',0) in the domain when the website products are being fetched.

For more perfection, this module seems to handle your feature with more flexibility.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM