Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
2 Antworten
4107 Ansichten

I want to compare the javascript var with odoo's t-if. But it gives me an error.

Xml file:

<odoo>

    <data>
    <record id="product_product_inherit" model="ir.ui.view">
                <field name="name">product.template.inherit</field>
        <field name="model">product.template</field>
        <field name="inherit_id" ref="product.product_template_only_form_view"/>
        <field name="arch" type="xml">
            <field name="default_code" position="after">
                <field name="gifpath" widget="image"/>
            </field>
        </field>
              </record>

       <template id="website_sales_inh" name="webiste_sales_inherit" inherit_id="website_sale.products_item">

          <xpath expr="//span[@class='d-flex h-100 justify-content-center align-items-center']" position="replace">
        <script type="text/javascript">
            var list = document.querySelectorAll('img');

            var i;
            var imgsrc=[];
            var trigger;
            for(i=0;i<3;i++)
            {
                imgsrc[i] = list[i].src;
                list[i].addEventListener("mouseover",function()
                {
                 trigger = 1;
                });
                list[i].addEventListener("mouseout",function()
                {
                  trigger = 0;
                });
            }
        </script>
        <t t-if="trigger == 1">
                      <span t-field="product.image_1920"
                                t-options="{'widget': 'image', 'preview_image': 'gifpath'}"
                                class="d-flex h-100 justify-content-center align-items-center"/>
        </t>
           
        <t t-elif="trigger == 0">
            <span t-field="product.image_1920"
                        t-options="{'widget': 'image', 'preview_image': 'image_1024' if product_image_big else 'image_256'}"
                        class="d-flex h-100 justify-content-center align-items-center"/>

        </t>
          </xpath>

       </template>

    </data>

</odoo>

Avatar
Verwerfen
Beste Antwort

Hello,

Please try to using this way:


<t t-jquery="[t-set*='count']">

          <t t-js="ctx">

              var table = document.getElementById("tableId");

                        alert(table.offsetHeight);        

  

              <t t-if="table">

          </t>

</t>

   Regards,




Email:   odoo@aktivsoftware.com

Skype: kalpeshmaheshwari

   

Avatar
Verwerfen
Beste Antwort

provided template is rendered at server side (python) so you will never get the value of the variable 'trigger' 

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
1
Aug. 20
9064
2
Juli 24
1296
2
Juni 23
42512
1
Dez. 22
3362
2
Dez. 22
4300