This question has been flagged
5 Replies
19831 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

Avatar
Discard
Best Answer

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.

Avatar
Discard
Best Answer

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>

Avatar
Discard

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

Best Answer

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

Avatar
Discard
Best Answer

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>


Avatar
Discard