Reputation: 73
I want add the same attribute to all matched items of an odoo xpath query inside a inherited qweb report template.
My code only change the colour of "1. aaa" to red. (the first matched item)
I can use "/*[@class='test_class'][2]" for the second item, but this is not a solution there are to many items with "test_class" inside the inherited report.
<template id="test_report_document_raw">
<h2 class="test_class">1. aaa</h2>
<h2 class="test_class">2. bbb</h2>
<h2 class="test_class">3. ccc</h2>
...
</template>
<template id="test_report_document" inherit_id="test.test_report_document_raw" primary="True">
<xpath expr="//*[@class='test_class']" position="attributes">
<attribute name="style">color: red;</attribute>
</xpath>
</template
Upvotes: 0
Views: 987
Reputation: 5044
As you said you can use the xpath expressions "/*[@class='test_class'][2]","/*[@class='test_class'][3]",..,"/*[@class='test_class'][2]"
and so on and update the style.
Other solution is to update the css class with your new style. So all where ever you are using this class 'test_class' there all this change will affect.
Upvotes: 0
Reputation: 1575
AFAIK it is an Openerp bug which doesn't consider multiple xpath corrispondances.
In alternative you could override fields_view_get and use xpath through lxml library.
Upvotes: 2