We are facing an issue with the website template when we inherit any website template in theme_test(theme module), odoo doesn't generates the external id. So further inheritance is not possible. For that we have tried to override standard template again and tried to change the sequence but still not find solution for further inheritance which where we stuck.(screenshot https://nimbusweb.me/nimbus-screenshots/64531b78ad42d13e6f6f7655290c3aa3)
This approach I have to take as inherit website view in the theme_test because template view can be as multi website.
If I inherit this template view in the module(not in theme) then odoo generated the external id of the view but then it's not possible to use that template as multi website.
I don't want to neglect the multi-website feature. So what can be the possible solution of this?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
I have also worked with multiple themes.
Any template which is generate in website/theme for the same unique external ID is not generated.
So ideally we will not be able to inherit those template. Moreover if we try to override those template that as well doesn't work most of the time because of loading sequence
Only possible solution which I could think of it make that template inactive and active your latest template.
If you find any better solution kindly let me know
Found another solution to this.
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="custom" model="ir.ui.view">
<field name="name">Custom Page</field>
<field name="type">qweb</field>
<field name="inherit_id" search="[('website_id', '=', 1), ('key', '=', 'website.homepage')]"/>
<field name="key">website.homepage.custom</field>
<field name="website_id" eval="1" />
<field name="arch" type="xml">
Add your custom code.
</field>
</record>
</odoo>
In case you don't wanna use website id then use
<field name="website_id" search="[('name', '=', 'Second Website')]"/>
same can be replaced in inherit id parameter as. Instead of website_id you can use website_id.name and pass the website name
This will help inherit any website template. Once your inheritance is successful you should an external id generate(Provide the code is not inside website module)
Tested above code with theme_clarico_vega.
Please mark the answer as correct. If it works for you.
It will help others
I have stuck with the same problem. I could solve it by adding the parameter "website_id":
<template id="layout" name="Main layout" inherit_id="website.layout" website_id="website.default_website">
...
</template>
So, if you are using multi-websites you also need to create an External ID for other websites.
Hello Yurii,
Thanks you for information. I have tried the same.
How we can define website_id when I am using theme for multi website. As Example below,
I have three websites 1) website1 2) website2 3) website3 and I am using theme_test in the webiste1 and website3
So which website_id I need to provide in the below code.
<template id="layout" name="Main layout" inherit_id="website.layout" website_id="website.default_website">
Also we have applied website on view as you can check on below screenshot still not create external id
(screenshot https://nimbusweb.me/nimbus-screenshots/64531b78ad42d13e6f6f7655290c3aa3)
So as now, if we need to create/generate external identifier for multi website, as external id have unique constrain, so can you please elaborate more how we can generate external id based on each website view with the unique constrain?
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
0
Jun 16
|
2702 | ||
|
1
Sep 20
|
2328 | ||
|
0
Nov 22
|
1300 | ||
|
1
Dec 20
|
4006 | ||
|
1
Jan 20
|
2022 |