Johdanto
Odoossa mallit määräävät, miten tiedot järjestetään ja tallennetaan tietokantaan. Kaikki yrityksen verkkosisällöt—sivut, tuotteet, asetukset—ovat jäsenneltyjä kohteita mallin riveinä.
Mallien ymmärtäminen on tärkeää sekä kehittäjille että toiminnallisille konsultteille. Ne muodostavat Odoon datarakenteen ytimen: kentät, suhteet ja liiketoimintasäännöt kootaan malleihin.
Tämä artikkeli keskittyy verkkosivumalliin. Se ohjaa sivuston asetuksia Odoossa: monisivustoarkkitehtuurista brändäykseen ja ulkoisiin integraatioihin — kaikki tapahtuu tämän mallin kautta.
Mikä on verkkosivumalli
Verkkosivumalli edustaa yhden sivuston konfiguraatiota Odoossa. Malliin tallennetaan sivuston tunnisteet ja käyttäytyminen: verkkotunnus, käytössä olevat kielet, visuaalinen ilme, some‑linkit ja valikkorakenne.
Mallia käyttää Website‑sovellus ja jokainen Odoo‑sivusto perustuu omaan verkkosivutietueeseensa. Monisivustoympäristössä luodaan erilliset tietueet, joilla voi olla oma yritys, domain, kielet ja teema.
Monet muut mallirakenteet viittaavat verkkosivumalliin website_id‑kentän kautta. Näin sisältö voidaan rajata tietylle sivustolle, ja malliperintä sekä Odoon api‑kerros toimivat saumattomasti yhdessä.
Mallin keskeiset kentät
Seuraavassa listassa ovat verkkosivumallin tärkeimmät kentät. Niiden tunteminen helpottaa sivuston konfigurointia ja ylläpitoa.
1. name
Tyyppi: Char. Pakollinen. Tallentaa sivuston nimen, joka näkyy hallinnassa ja asetuksissa. Toimii ensisijaisena tunnisteena käyttöliittymässä.
2. sequence
Tyyppi: Integer. Oletus 10. Määrittää sivustojen järjestyksen, kun useita sivustoja on käytössä; pienempi arvo näkyy ensin.
3. domain
Tyyppi: Char. Sivuston verkkotunnus (esim. https://www.esimerkki.fi). Odoo lisää https‑etuliitteen tarvittaessa. Arvon tulee olla yksilöllinen ja sitä käytetään reititykseen ja hakukoneoptimointiin.
4. company_id
Tyyppi: Many2one (res.company). Pakollinen. Kytkee sivuston Odoo‑yritykseen, jolloin moniyritysympäristössä näkyville tuleva sisältö rajoittuu ko. yritykseen liittyviin tietoihin.
5. language_ids
Tyyppi: Many2many (res.lang). Lista tämän sivuston käytössä olevista kielistä. Vierailijat voivat vaihtaa kieliä, oletuksena kaikki asennetut kielet.
6. language_count
Tyyppi: Integer. Laskettu arvo. Kuvaa kielten määrän, hyödyllinen näyttöä ja suodatusta varten.
7. default_lang_id
Tyyppi: Many2one (res.lang). Pakollinen. Sivuston oletuskieli, jolla kävijä näkee sisällön ensikosketuksella. Arvon tulee sisältyä language_ids‑joukkoon.
8. auto_redirect_lang
Tyyppi: Boolean. Oletus True. Kun päällä, kävijät ohjataan selaimen kieleen, jos se on saatavilla sivustolla.
9. cookies_bar
Tyyppi: Boolean. Näyttääkö sivustolla evästepalkin. Käytännöllinen tietosuojavaatimusten, kuten GDPR:n, täyttämiseen; Odoo voi luoda myös evästepolitiikkasivun automaattisesti.
10. logo
Tyyppi: Binary. Sivuston logo, näkyy yläosassa ja muissa paikoissa. Jos ei aseteta, käytetään Odoon oletuslogoa.
11. favicon
Tyyppi: Binary. Sivuston välilehden kuvake, jota Odoo muokkaa sopivaan kokoon (esim. 256x256).
12. social_twitter
Tyyppi: Char. Twitter/X‑tilin URL. Arvot voivat periintyä yrityksen asetuksista ja niitä käytetään alaviitteessä sekä jakamisen metatiedoissa.
13. social_facebook
Tyyppi: Char. Facebook‑tilin URL. Toimii samalla periaatteella kuin muut some‑kentät.
14. social_linkedin
Tyyppi: Char. LinkedIn‑tilin URL.
15. social_instagram
Tyyppi: Char. Instagram‑tilin URL.
16. social_youtube
Tyyppi: Char. YouTube‑kanavan URL.
17. social_github
Tyyppi: Char. GitHub‑tilin URL.
18. social_tiktok
Tyyppi: Char. TikTok‑tilin URL.
19. social_default_image
Tyyppi: Binary. Oletuskuva sociaisointia varten. Kun asetettu, se korvaa logon ja näkyy Open Graph‑ tai Twitter‑kortteina ja parantaa esikatselun ulkoasua.
20. google_analytics_key
Tyyppi: Char. Google Analytics ‑seurannan avain. Kun asetettu, Odoo lisää seurannan skriptin sivuille.
21. google_maps_api_key
Tyyppi: Char. Google Maps ‑avain, käytetään kartta‑ ja sijaintiominaisuuksissa.
22. user_id
Tyyppi: Many2one (res.users). Pakollinen. Julkinen käyttäjä tälle sivustolle, jota käytetään portaali‑ja anonyymikäytössä; yleensä peritään yrityksen asetuksista.
23. cdn_activated
Tyyppi: Boolean. Kun päällä, staattiset resurssit voidaan palvella CDN:stä, mikä parantaa sivuston suorituskykyä.
24. cdn_url
Tyyppi: Char. CDN:n perusosoite, jota käytetään kun cdn_activated on asetettu.
25. cdn_filters
Tyyppi: Text. Regex‑kuvioita URL‑osoitteiden uudelleenkirjoitukselle. Oletuksena staattiset polut.
26. menu_id
Tyyppi: Many2one (website.menu). Laskettu kenttä. Viittaa sivuston päävalikon juurielementtiin.
27. homepage_url
Tyyppi: Char. Etusivun polku (esim. /yhteystiedot tai /kauppa). Arvon tulee alkaa kauttaviivalla.
28. custom_code_head
Tyyppi: Html. Mukautettu koodi lisättäväksi HTML‑head‑osioon, esimerkiksi analytiikka tai meta‑tagit.
29. custom_code_footer
Tyyppi: Html. Mukautettu koodi footeriin, kuten chat‑widgetit tai jäljitys‑skriptit.
30. robots_txt
Tyyppi: Html. Mahdollisuus ylläpitää oma robots.txt‑sisältö hakuroboteille ja indeksoinnin hallintaan.
31. theme_id
Tyyppi: Many2one (ir.module.module). Asennettu teema, joka määrittää sivuston visuaalisen ilmeen.
32. auth_signup_uninvited
Tyyppi: Selection. Arvot b2b (vain kutsulla) tai b2c (vapaa rekisteröityminen). Määrittää, voivatko vierailijat luoda tilin ilman kutsua.
33. create_date
Tyyppi: Datetime. Tietueen luontiaika — hallitaan automaattisesti Odoossa.
34. write_date
Tyyppi: Datetime. Viimeisin muokkausaika — myös automaattinen kenttä.
Miten tätä mallia käytetään liiketoimintaprosesseissa
1. Monisivusto ja lokalisaatio
Yritykset, joilla on eri brändejä tai alueellisia verkkosivuja, luovat erillisen sivustotietueen kutakin varten. Jokaisella voi olla oma domain, kielivalikoima ja sisältö; sisältöliitokset kuten sivut ja tuotteet rajoitetaan website_id‑kentällä.
2. Brändi ja identiteetti
Logo, favicon ja some‑linkit asetetaan sivustokohtaisesti, mikä mahdollistaa erillisen ilmeen kampanjoille tai brändimuutoksille. social_default_image parantaa jakamisen esikatselua verkossa.
3. Kielet ja hakukoneoptimointi
language_ids ja default_lang_id ohjaavat kielivalikoimaa. auto_redirect_lang parantaa kävijäkokemusta kansainvälisille kävijöille, ja oikea asetus auttaa myös hreflang‑käytännöissä ja SEO:ssa.
4. Suorituskyky ja CDN
Liikenteen kasvaessa cdn_activated ja cdn_url auttavat purkamaan staattisten resurssien kuormaa. cdn_filters määrittelee, mitä polkuja uudelleenkirjoitetaan CDN:ään.
5. Säännösten noudattaminen ja analytiikka
cookies_bar mahdollistaa evästeilmoituksen. google_analytics_key ja custom_code_head antavat mahdollisuuden lisätä seuranta‑koodit. robots_txt antaa kontrollin hakuroboteille.
Miten kehittäjät laajentavat mallia
Kehittäjät laajentavat verkkosivumallia useilla tavoilla, ja Odoon malliperintä on yleisin tapa tehdä muutoksia turvallisesti.
Malliperintä
Käytä _inherit = 'website' laajentaaksesi mallia. Tämän avulla voi lisätä kenttiä, yliajaa metodeja tai lisätä tarkistuksia siten, että muutokset pysyvät erillisessä moduulissa ja päivitykset säilyvät hallittavina.
Kenttien lisääminen
Lisää uusia kenttiä perityssä mallissa käyttäen sopivaa tyyppiä: Char, Many2one, Boolean, Integer, Text, Selection. Mieti, tarvitseeko kenttä sivustokohtaisen logiikan tukemista monisivustoissa.
Python‑laajennukset
Yliajaa tarvittaessa create, write tai unlink‑metodit lisälogiikan toteuttamiseksi. Muista kutsua super() ja huomioi erityisesti user_id sekä company_id, kun luot sivustoja ohjelmallisesti.
Odoo Studio
Odoo Studio tarjoaa kenttien lisäämisen ilman koodausta — nopea ratkaisu yksinkertaisiin muutoksiin. Monimutkaiset liiketoimintasäännöt ja integraatiot kannattaa kuitenkin viedä erillisiin moduuleihin ylläpidettävyyden vuoksi.
Parhaat käytännöt
- Määritä tuotantoon kullekin sivustolle oma domain. Se selkeyttää reititystä ja parantaa hakukonenäkyvyyttä.
- Pidä default_lang_id arvona, joka sisältyy language_ids‑joukkoon; Odoo varmistaa tämän muutoksen yhteydessä.
- Lisää kolmannen osapuolen skriptit custom_code_head tai custom_code_footer ‑kenttiin sen sijaan, että muokkaat ydintemppaleita.
- API‑integraatioissa käytä XML‑RPC tai JSON‑RPC:ää. Verkkosivumalli on täysin saatavilla, ja kun synkronoit sisältöä, varmista että website_id on oikein kartoitettu.
- Omille kentille kannattaa käyttää
x_‑etuliitettä tai moduulikohtaista prefiksiä, jotta vältytään mahdollisilta nimeämiskonflikteilta tulevissa Odoo‑versioissa.
Yleisimmät virheet
- Saman domainin luominen useampaan tietueeseen aiheuttaa virheen — domain‑kentällä on uniikki rajoite.
- Unohtunut user_id API‑luonnissa johtaa virheilmoituksiin, sillä kenttä on pakollinen.
- homepage_url ilman etukauttaviivaa (/ ) rikkoo validoinnin; Odoo odottaa polun alkavan kauttaviivalla.
- cdn_activated‑asetus ilman kelvollista cdn_url‑osoitetta voi estää resurssien latautumisen.
- Yliajaminen ilman
super()‑kutsua voi katkaista muiden moduulien toiminnan ja tehdä päivityksistä epäluotettavia.
Yhteenveto
Verkkosivumalli on keskeinen osa Odoon sivustokonfiguraatiota: siihen tallennetaan domain, kielet, brändi ja sivuston käytös. Kun ymmärrät kentät ja viittaukset muihin malleihin, osaat konfiguroida, räätälöidä ja integroida Odoo‑sivustoja tehokkaasti.
Olitpa toiminnallinen konsultti suunnittelemassa monisivustoratkaisua tai kehittäjä rakentamassa moduuleja, hyvä ymmärrys verkkosivumallista säästää aikaa ja vähentää virheiden riskiä.
Tarvitsetko apua Odoo‑käyttöönotossa?
Dasolo auttaa yrityksiä Odoo‑käyttöönotossa, räätälöinneissä ja optimoinnissa. Erikoisosaamistamme ovat API‑integraatiot ja Odoo‑kehitys — tiimillämme on syvällinen kokemus Odoon datarakenteista ja malleista kuten website.
Jos tarvitset apua Odoo‑käyttöönotossa, monisivustojen suunnittelussa tai integraatioissa, autamme mielellämme. Varaa esittely keskustellaksesi projektistasi.