Sök…


Syntax

  • Obs om XML-syntax: Eftersom posten görs inuti XML-filen, kan du inte lämna någon tagg ostängd som du kunde i en vanlig HTML, som: <link rel = 'stylesheet' href = "..." > , Stäng länktagg istället, som:
    • <länk rel = 'stilark' href = "..." / >

parametrar

Möjliga värden på parametern inherit_id menande
web.assets_backend Används endast på interna sidor, INTE ingår på en offentlig webbplats.
website.assets_frontend Används endast på en offentlig webbplats (via " webbplats " -modul).
web.assets_common Används på både offentliga webbplatser och interna sidor.

Anmärkningar

Om du inte är säker på vilket alternativ som passar dig, kan du prova det första alternativet (backend) eftersom det används i de flesta fall och nästan i alla fall om du inte har installerat modulen "webbplats". Odoo skiljer mellan tillgångarna "backend" och "frontend" eftersom den offentliga webbplatsen som tillhandahålls av "website" -modulen använder annan styling och JS-kod än interna sidor som är avsedda att användas för ERP-uppgifter, dvs "frontend" är associerad med den offentliga webbplatsen och "backend" är associerat med interna sidor för ERP (betydelsen av "frontend" och "backend" är Odoo-specifika här, men de är båda "frontend" i mer allmän mening).

Du kan inte bara välja och använda ett av alternativen utan också använda valfri kombination av dem (två av dem eller alla av dem) i samma modul. Faktorera en backend, en frontend och en gemensam JS / CSS-kod i separerade filer för att bättre följa DRY och ha lämplig kod på den offentliga webbplatsen och på de interna sidorna.

Glöm inte att lägga till "webb" (när du använder alternativ 1 ) eller "webbplats" (när du använder alternativ 2 ) till beroendelistan i __openerp__.py manifestet.

Lagra CSS- och JS-filer korrekt i Odoo-modulen

CSS- och JS-filer bör ligga under 'statisk' katalog i rotkatalogen för modulen (resten av underkatalogträdet under 'statisk' är en valfri konvention):

  • statisk / src / css / your_file.css
  • statisk / src / js / your_file.js

Lägg sedan till länkar till dessa filer och kopplar bort ett av de tre sätten som listas i följande exempel.

Alternativ 1: [BACKEND] Lägg till CSS- och Javascript-filer som ska användas på interna sidor

Odoo v8.0 sätt är att lägga till motsvarande post i XML-filen:

  • Lägg till XML-fil i manifestet (dvs. __openerp__.py filen.):

    ...
    'data': ['your_file.xml'],
    ...

  • Lägg sedan till följande post i 'your_file.xml' :

    <openerp>
        <data>  
            <template id="assets_backend" name="your_module_name assets" inherit_id="web.assets_backend">  
                <xpath expr="." position="inside">  
                    <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/>  
                    <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script>  
                </xpath>  
            </template>  
        ....  
        ....  
        </data>  
     </openerp>  

Alternativ 2: [FRONTEND] Lägg till CSS- och Javascript-filer som ska användas på en offentlig webbplats

Obs! Du bör använda detta sätt om du har installerat en "webbplats" -modul och du har en offentlig webbplats tillgänglig.

  • Lägg till följande post i 'your_file.xml' :
    <openerp>
        <data>  

            <template id="assets_frontend" name="your_module_name assets" inherit_id="website.assets_frontend">  
                <xpath expr="link[last()]" position="after">  
                    <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/>  
                </xpath>  
                <xpath expr="script[last()]" position="after">  
                    <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script>  
                </xpath>  
            </template>  

        </data>  
     </openerp>  

Alternativ 3: [COMMON] Lägg till CSS- och Javascript-filer som ska användas på alla sidor (backend & frontend)

  • Lägg till följande post i 'your_file.xml' :
    <openerp>
        <data>  

            <template id="assets_common" name="your_module_name assets" inherit_id="web.assets_common">  
                <xpath expr="." position="inside">  
                    <link rel='stylesheet' href="/fr/your_module_name/static/src/css/your_file.css"/>  
                    <script type="text/javascript" src="/your_module_name/static/src/js/your_file.js"></script>  
                </xpath>  
            </template>  
  
        </data>  
     </openerp>  


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow