Odoo Help

1

How to break from for loop in qweb?

By
Mohammed Khamis
on 3/9/15, 6:31 AM 3,053 views

I want to break the looping but I dont have any information about this .

please help me how can do it.

thank you so much

2
Vasanth
On 3/9/15, 8:59 AM

you can use this code in the place for you page break:

 <!-- Pagebreak -->
                        <t t-if="p_index &lt; p_size - 1">
                            <![CDATA[
                                </tbody>
                            </table>
                            <p style="page-break-before:always;"> </p>
                            <table class="table table-condensed">
                            ]]>

                       </t>

This is not what was originally asked. Breaking a loop is unrelated to a page break in html.

Smart Information Technologies Ltd, Matt
on 10/24/17, 6:37 AM
0
Matt
On 10/24/17, 6:46 AM

Sonny V is correct.  You can achieve this by checking a condition.  Set foo == True when you want to break the loop, ie when i == 3.  It does loop through the rest of the items however, so isn't an elegant solution.

<div>

    <t t-set="foo" t-value="False"/>

    <t t-foreach="[1, 2, 3, 4, 5, 6]" t-as="i">

        <t t-if="foo == False">

             <p><t t-esc="i"/></p>

             <t t-if="i==3">

                 <t t-set="foo" t-value="True"/>

             </t>

        </t>

    </t>

</div>

 
If it doesn't have to be a purely qweb solution, you can write a python function to break at the correct place / filter the items. so the qweb only has to output them.

0
SonnyV
On 3/9/15, 7:58 AM

You haven't really provided us with a lot of info but the following might work?

<div>
    <t t-foreach="[1, 2, 3]" t-as="i">
        <t t-if="condition">
            <p><t t-esc="i"/></p>
        </t>
    </t>
</div>

you loop through elements, check for a condition, if the condition is not met it'll break out of the if and if you don't have any statements under the if statement it'll break out of the for loop for that iteration

-1
Voathnak Lim
On 1/2/17, 2:31 AM

Hi I got the same issue,

how can i make the loop stop at item 3? is there any break; code?

example

<div>

     <t t-foreach="[1, 2, 3, 4, 5, 6]" t-as="i">

         <t t-if="condition"> <p><t t-esc="i"/></p>

         </t>

     </t>

</div>


About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)

Stats

Asked: 3/9/15, 6:31 AM
Seen: 3053 times
Last updated: 10/24/17, 6:46 AM