I have 2 website, but actually i want to display some content in the footer of only one website, they both have different footer so the xpath i'm trying don't work on the other website. So i found the solution to use .
My problem is that i have an error when i'm trying to use is like this :
<xpath expr="//div[@id='footer']/section/div/div/div[1]/div/img" position="after">
<t t-if="website.id == 1">
<p> test </p>
</t>
</xpath>
Here is the error i'm getting :
It don't find the xpath because my other website don't have the same code structure.
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 655, in _tag_template
return self._tag_record(record)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 580, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/home/odoo/src/odoo/odoo/models.py", line 4196, in _load_records
data['record']._load_records_write(data['values'])
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 1842, in _load_records_write
super(View, self)._load_records_write(values)
File "/home/odoo/src/odoo/odoo/models.py", line 4133, in _load_records_write
self.write(values)
File "/home/odoo/src/odoo/addons/website/models/theme_models.py", line 267, in write
res = super(IrUiView, other_views).write(vals)
File "/home/odoo/src/odoo/addons/website/models/ir_ui_view.py", line 68, in write
return super(View, self).write(vals)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 28, in write
res = super(StudioMixin, self).write(vals)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 500, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/home/odoo/src/odoo/odoo/models.py", line 3691, in write
fields[0].determine_inverse(real_recs)
File "/home/odoo/src/odoo/odoo/fields.py", line 1185, in determine_inverse
getattr(records, self.inverse)()
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 300, in _inverse_arch
view.write(data)
File "/home/odoo/src/odoo/addons/website/models/theme_models.py", line 267, in write
res = super(IrUiView, other_views).write(vals)
File "/home/odoo/src/odoo/addons/website/models/ir_ui_view.py", line 68, in write
return super(View, self).write(vals)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 28, in write
res = super(StudioMixin, self).write(vals)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 500, in write
res = super(View, self).write(self._compute_defaults(vals))
File "/home/odoo/src/odoo/odoo/models.py", line 3681, in write
real_recs._validate_fields(vals, inverse_fields)
File "/home/odoo/src/odoo/odoo/models.py", line 1260, in _validate_fields
check(self)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 408, in _check_xml
raise ValidationError(_(
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 385, in _check_xml
view_def = view.read_combined(['arch'])
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 809, in read_combined
arch = root.apply_view_inheritance(arch_tree, self.model)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 750, in apply_view_inheritance
return self._apply_view_inheritance(source, inherit_tree)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 759, in _apply_view_inheritance
source = view._apply_view_inheritance(source, inherit_tree)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 759, in _apply_view_inheritance
source = view._apply_view_inheritance(source, inherit_tree)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 758, in _apply_view_inheritance
source = view.apply_inheritance_specs(source, arch_tree)
File "/home/odoo/src/enterprise/web_studio/models/ir_ui_view.py", line 460, in apply_inheritance_specs
return super(View, self).apply_inheritance_specs(source, specs_tree,
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 735, in apply_inheritance_specs
self.handle_view_error(str(e))
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 673, in handle_view_error
raise ValueError(formatted_message).with_traceback(from_traceback) from from_exception
odoo.exceptions.ValidationError: Erreur lors de la validation de la vue:
'<xpath expr="//div[@id='footer']/section/div/div/div[1]/div/img">' element can't be found in the parent view
View name: Vichysport Layout
Error context:
view: ir.ui.view(4281,)
xmlid: layout_vichysport
view.parent: ir.ui.view(1185,)
file: /home/odoo/src/user/vichysport/views/layout.xml
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/home/odoo/src/odoo/odoo/http.py", line 684, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/odoo/http.py", line 360, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/http.py", line 348, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 913, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 532, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1393, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 1381, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 396, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 383, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-77>", line 2, in button_immediate_upgrade
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
return method(self, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 654, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_module.py", line 593, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 89, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 454, in load_modules
processed_modules += load_marked_modules(cr, graph,
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 346, in load_marked_modules
loaded, processed = load_module_graph(
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 221, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 69, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 733, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 799, in convert_xml_import
obj.parse(doc.getroot())
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 719, in parse
self._tag_root(de)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 681, in _tag_root
raise ParseError('while parsing %s:%s, near\n%s' % (
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 316, in _handle_exception
raise exception.with_traceback(None) from new_cause
odoo.tools.convert.ParseError: while parsing None:6, near
<data inherit_id="website.layout" name="Vichysport Layout">
<xpath expr="//div[@id='footer']/section/div/div/div[1]/div/img" position="after">
<t t-if="website.id == 1">
<p> test </p>
</t>
</xpath>
</data>
I'm thinking about adding a <t t-if="website.id ==1"> before the xpath... how can i do ?
Aucun commentaire:
Enregistrer un commentaire