Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
4 Risposte
5235 Visualizzazioni

Hi all,

I'm using odoo 10

I have 2 websites in odoo with JS. For exemple, Website1 and Website2.

When I’m using Website1, the Website2’s JS file is loaded and used.
I’d like to separate JS files, one for each website, not for both. I have the same issue on CSS files.

I add this file in 'website.assets_frontend'

Do you have a solution ?

Thx

Avatar
Abbandona

why don't you implement different modules for each site to customize things individually ?

Risposta migliore

Hi Boehm Benjamin,

This solution would surely help you.

1. Create new config parameter check the parameter inside your xml code where you load your js and css files.

2. Define your custom function in config parameter model which help you to get your parameter value.

E.g.

PARAMS = [
('your_module_name.parameter1', _('parameter_value')),
('your_module_name.parameter2', _('parameter_value')),

]
class IrConfigParameter(models.Model):
_inherit = 'ir.config_parameter'

@api.model
def get_your_parameter(self):
res = {}
for parameter, default_val in PARAMS:
value = self.env['ir.config_parameter'].get_param(parameter, default_val)
res[param] = value.strip()
return res

3. Use the function in your xml code where you will load your js,css,less file conditionally.

E.g.

<template id="assets_sample_frontend" name="give_name_which_you_want" inherit_id="web.assets_frontend">
<xpath expr="." position="inside">

<t t-set="variable_here"
t-value="request and request.env['ir.config_parameter'].get_your_parameter().get('pass_key_here')"/>
<!-- use your variable here in condition-->
<t t-if="variable_here == '1'">
<link rel="stylesheet" type="text/less" href="/your_module_name/static/src/less/sample.less"/>
<link rel="stylesheet" type="text/less" href="/your_module_name/static/src/js/your_file.js"/>
</t>
</xpath>
</template>

Hope this might help you.

Happy Odooing.

Rgds,

Anil.


Avatar
Abbandona
Autore Risposta migliore

Thx Anil, I will try. But in IrConfigParameter class, what is the 'PARAMS' element ?

I'm newbie in odoo and python

Avatar
Abbandona

I understood, let me modify my example. it is list of tuples in which you could defines number of parameter to match.

I've updated my answer. you need to define in same py file outside the class to access it globally in same py file.

Autore

Many Thx for your help, but I don't understand how it works. I have copied your code in my module for Website1.

On my Website2, I don't have CSS and JS files, this is the CSS file of my theme.

Autore

I added a test on my JS and it works. For my CSS, i continue to search

Risposta migliore

Multi website is not supported, but it is possible if you really know what you have to do. Also a lot of work has been done by OCA contributors, you may want to check this little gem:

https://github.com/OCA/website/tree/10.0/website_multi_theme

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
0
dic 17
3885
1
giu 24
1097
2
mag 21
6896
1
gen 20
7679
1
lug 19
3516