تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
2 الردود
1004 أدوات العرض

When I try to access the ClosePosPopup info to modify it, the field I am referring to is not found, but it does exist when I review the HTML.


The error:

Caused by: Error: Element '<xpath expr="//div[@class='modal-content']" position="replace">

   

          </xpath>' cannot be located in element tree

    Error: Element '<xpath expr="//div[@class='modal-content']" position="replace">

   

          </xpath>' cannot be located in element tree

الصورة الرمزية
إهمال
الكاتب أفضل إجابة

Thank you very much, it works perfectly

الصورة الرمزية
إهمال
أفضل إجابة

Hi,


The class you are using in the xpath belongs to the Dialog component. You can replace the entire dialog component and this involves redefining the dialog and adding your custom content inside a new <Dialog> tag.


<?xml version="1.0" encoding="UTF-8"?>

<templates id="template" xml:space="preserve">

    <t t-name="point_of_sale.ClosePosPopup" t-inherit="point_of_sale.ClosePosPopup" t-inherit-mode="extension">

        <xpath expr="//Dialog" position="replace">

            <Dialog contentClass="'close-pos-popup'">

                <!-- Custom Header -->

                <t t-set-slot="header">

                    <div class="d-flex flex-grow-1 justify-content-between">

                        <h4 class="align-middle my-1">Closing Register</h4>

                        <div class="total-orders fw-bolder align-middle my-1">

                            <t t-esc="props.orders_details.quantity"/> orders:

                            <span class="amount" t-esc="env.utils.formatCurrency(props.orders_details.amount)"/>

                        </div>

                    </div>

                </t>

               

                <!-- Custom Body -->

                <div class="payment-methods-overview">

                    <!-- Add your modifications here -->

                </div>


                <!-- Custom Footer -->

                <t t-set-slot="footer">

                    <div class="w-100 d-flex flex-wrap justify-content-between gap-2">

                        <!-- Add your custom buttons or footer content -->

                    </div>

                </t>

            </Dialog>

        </xpath>

    </t>

</templates>


You can also modify specific parts of the Dialog instead of replacing the entire Dialog. For instance, you can target and update the header, body, or footer using specific xpath expressions.


//Modifying the Header

<xpath expr="//t[@t-set-slot='header']" position="replace">

    <t t-set-slot="header">

        <div class="d-flex flex-grow-1 justify-content-between">

            <h4 class="align-middle my-1">Custom Header Title</h4>

            <div class="custom-content">

                <!-- Add your custom header content -->

            </div>

        </div>

    </t>

</xpath>


//Adding Content to the Body

<xpath expr="//div[hasclass('payment-methods-overview')]" position="inside">

    <div class="custom-body-content">

        <!-- Add additional content here -->

    </div>

</xpath>


//Modifying the Footer

<xpath expr="//t[@t-set-slot='footer']" position="replace">

    <t t-set-slot="footer">

        <div class="w-100 d-flex flex-wrap justify-content-between gap-2">

            <button class="btn btn-primary">Custom Button</button>

            <!-- Add more custom footer elements here -->

        </div>

    </t>

</xpath>



Hope it helps

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
ديسمبر 24
1758
0
ديسمبر 24
1316
1
يناير 21
2691
6
نوفمبر 19
15127
1
مارس 17
4391