Introduktion
I Odoo definerer modeller, hvordan data er struktureret og gemt i databasen. Hver enkelt del af forretningsdata, du arbejder med, lever i en model.
At forstå Odoo-modeller er essentielt for både udviklere og funktionelle konsulenter. Modellerne er fundamentet for Odoo's dataarkitektur. De definerer Odoo-felter, relationer og forretningslogik.
Denne artikel fokuserer på webstedmodellen. Den driver webstedskonfigurationen i Odoo. Uanset om du bygger multi-websted opsætninger, tilpasser branding eller integrerer med eksterne systemer, vil du arbejde med denne model.
Hvad er webstedmodellen
Webstedsmodellen repræsenterer en webstedskonfiguration i Odoo. Denne model i Odoo gemmer alt, der definerer, hvordan et site ser ud og opfører sig: domæne, sprog, branding, sociale links og menustruktur.
Det er en del af Website-appen og bruges af hver Odoo-websted. I multi-websted opsætninger har du flere webstedsoptegnelser. Hver enkelt kan have sit eget domæne, virksomhed, sprog og tema.
Andre modeller i Odoo refererer til webstedsmodellen via website_id-feltet. Mange Odoo-modeller har et website_id-felt for at afgrænse indhold til et specifikt site. Dette er, hvordan Odoo-modelarv og api-modellen i Odoo arbejder sammen.
Nøglefelter i modellen
Her er de vigtigste Odoo-felter i webstedsmodellen. At forstå disse vil hjælpe dig med at arbejde effektivt med sitekonfiguration.
1. navn
Type: Char. Påkrævet. Dette felt gemmer webstedets navn. Det vises i backend-switcheren og i konfigurationsskærme. Det er den primære identifikator for sitet.
2. sekvens
Type: Integer. Standard 10. Kontrollerer visningsrækkefølge, når der findes flere websteder. Lavere værdier vises først.
3. domæne
Type: Char. Webstedets domæne (f.eks. https://www.mydomain.com). Odoo tilføjer https, hvis det mangler. Det skal være unikt. Bruges til routing og SEO.
4. company_id
Type: Many2one (res.company). Påkrævet. Knytter webstedet til en Odoo-virksomhed. I multi-virksomhedsopsætninger viser hvert websted kun virksomhedens relaterede data.
5. language_ids
Type: Many2many (res.lang). De sprog, der er tilgængelige på denne hjemmeside. Besøgende kan skifte mellem dem. Standardindstillingen er alle installerede sprog.
6. language_count
Type: Integer. Beregnet. Antallet af sprog. Nyttigt til visning og filtrering.
7. default_lang_id
Type: Many2one (res.lang). Påkrævet. Det standard sprog, når besøgende først ankommer. Skal være i language_ids.
8. auto_redirect_lang
Type: Boolean. Standard True. Når aktiveret, bliver besøgende omdirigeret til deres browsersprog, hvis det er tilgængeligt.
9. cookies_bar
Type: Boolean. Når True, vises en cookies-bar. Nyttigt til overholdelse af GDPR. Odoo kan automatisk oprette en cookiepolitikside.
10. logo
Type: Binary. Hjemmesidens logo. Vist i headeren og andre steder. Standardindstillingen er Odoo-logoet, hvis det ikke er angivet.
11. favicon
Type: Binary. Favicon vist i browserfanen. Odoo ændrer størrelsen til 256x256.
12. social_twitter
Type: Char. Twitter/X konto URL. Standard fra virksomheden. Bruges i footer og social deling.
13. social_facebook
Type: Char. Facebook konto URL. Samme mønster som andre sociale felter.
14. social_linkedin
Type: Char. LinkedIn konto URL.
15. social_instagram
Type: Char. Instagram konto URL.
16. social_youtube
Type: Char. YouTube konto URL.
17. social_github
Type: Char. GitHub-konto URL.
18. social_tiktok
Type: Char. TikTok-konto URL.
19. social_default_image
Type: Binary. Standardbillede til social deling. Overskriver logoet, når det er indstillet. Bruges til Open Graph og Twitter-kort.
20. google_analytics_key
Type: Char. Google Analytics-nøgle. Til sporing. Odoo injicerer scriptet, når det er konfigureret.
21. google_maps_api_key
Type: Char. Google Maps API-nøgle. Til kort og placeringsfunktioner.
22. user_id
Type: Many2one (res.users). Påkrævet. Den offentlige bruger for denne hjemmeside. Bruges til portaladgang og anonyme besøgende. Standardværdier fra virksomheden.
23. cdn_activated
Type: Boolean. Når sand, serveres statiske aktiver fra et CDN. Forbedrer ydeevnen.
24. cdn_url
Type: Char. CDN-basen URL. Bruges når cdn_activated er sand.
25. cdn_filters
Type: Text. Regex-mønstre for URLs til omskrivning. Standard til statiske stier.
26. menu_id
Type: Many2one (website.menu). Beregnet. Hovedmenuen. Peger på rodmenuen for dette website.
27. homepage_url
Type: Char. Hjemmeside stien (f.eks. /contactus eller /shop). Skal starte med en skråstreg.
28. custom_code_head
Type: Html. Tilpasset kode injiceret i head. Til analyser, scripts eller meta-tags.
29. custom_code_footer
Type: Html. Tilpasset kode indsat i bunden. Nyttig til chat widgets eller tracking.
30. robots_txt
Type: Html. Tilpasset robots.txt indhold. Til SEO og crawler kontrol.
31. theme_id
Type: Many2one (ir.module.module). Det installerede tema.
32. auth_signup_uninvited
Type: Selection. b2b (På invitation) eller b2c (Gratis tilmelding). Kontrollerer, om besøgende kan oprette konti uden en invitation.
33. create_date
Type: Datetime. Hvornår posten blev oprettet. Automatisk styret af Odoo.
34. write_date
Type: Datetime. Hvornår posten sidst blev ændret. Også automatisk styret.
Hvordan denne model bruges i forretningsarbejdsgange
1. Multi-Website og Lokalisering
Virksomheder med flere brands eller regioner opretter én webstedsrecord pr. site. Hver har sit eget domæne, sprog og indhold. website_id-feltet på sider, blogs og produkter afgrænser data til det rigtige site.
2. Branding og Identitet
Logo, favicon og sociale links er konfigureret pr. website. Marketingteams opdaterer disse ved rebranding. social_default_image-feltet forbedrer, hvordan links ser ud, når de deles.
3. Sprog og SEO
language_ids og default_lang_id styrer, hvilke sprog der er tilgængelige. auto_redirect_lang forbedrer brugeroplevelsen for internationale besøgende. Korrekt konfiguration hjælper med SEO og hreflang.
4. Ydeevne og CDN
Når trafikken vokser, aflaster cdn_activated og cdn_url statiske aktiver til en CDN. cdn_filters definerer, hvilke URL'er der omskrives.
5. Overholdelse og Analyse
cookies_bar aktiverer cookie-samtykke banneret. google_analytics_key og custom_code_head injicerer tracking. robots_txt kontrollerer crawler-adgang.
Hvordan udviklere udvider denne model
Udviklere udvider webstedsmodellen ved hjælp af flere mønstre. Odoo modelarv er den primære mekanisme.
Model Arv
Brug _inherit = 'website' for at udvide modellen. Tilføj nye Odoo-felter, overskriv metoder eller tilføj begrænsninger. Den arvede model i Odoo holder dine ændringer i et separat modul for nem opgradering.
Tilføjelse af felter
Definer nye Odoo-felter i din arvede model. Brug den rigtige felttype: Char, Many2one, Boolean, Integer, Text, Selection. Overvej websted-afhængige felter til multi-websted logik.
Python-udvidelser
Overskriv create, write eller unlink for at tilføje logik. Brug super() til at kalde den oprindelige. Vær forsigtig med user_id og company_id, når du opretter websteder programmatisk.
Odoo Studio
Odoo Studio giver dig mulighed for at tilføje felter uden kode. Godt til hurtige tilpasninger. For kompleks logik eller API-drevet konfiguration er brugerdefinerede moduler mere vedligeholdelsesvenlige.
Bedste praksis
- Indstil domæne for hvert websted i produktion. Det hjælper med routing og SEO.
- Hold default_lang_id inden for language_ids. Odoo validerer dette ved ændring.
- Brug custom_code_head og custom_code_footer til tredjeparts scripts. Undgå at ændre kerne-skabeloner.
- Når du bygger API-integrationer, brug XML-RPC eller JSON-RPC API. Webstedmodellen er fuldt eksponeret. Kortlæg website_id korrekt, når du synkroniserer indhold.
- For brugerdefinerede felter, brug
x_præfikset eller et modulpræfiks for at undgå konflikter med fremtidige Odoo-versioner.
Almindelige fejl
- Oprettelse af duplikatdomæner. Domænefeltet har en unik begrænsning.
- Glemmer at sætte user_id, når der oprettes hjemmesider via API. Det er påkrævet.
- Indstilling af homepage_url uden en førende skråstreg. Odoo validerer og rejser en fejl.
- Aktivering af cdn_activated uden en gyldig cdn_url. Aktiver kan fejle at indlæse.
- Overskrivning af kerne metoder uden at kalde super(). Dette kan bryde andre moduler eller fremtidige opgraderinger.
Konklusion
Websitemodellen er central for webstedskonfiguration i Odoo. Den gemmer domæne, sprog, branding og adfærd. At forstå dens Odoo-felter og hvordan andre modeller refererer til den vil hjælpe dig med at konfigurere, tilpasse og integrere Odoo-websteder effektivt.
Uanset om du er en funktionel konsulent, der kortlægger multi-site behov eller en udvikler, der bygger tilpassede moduler, vil en solid forståelse af websitemodellen spare tid og forhindre fejl.
Har du brug for hjælp til din Odoo-implementering?
Dasolo hjælper virksomheder med at implementere, tilpasse og optimere Odoo. Vi specialiserer os i API-integrationer og Odoo-udvikling. Vores team har dyb erfaring med Odoo-databasearkitekturen og modeller som website.
Hvis du har brug for hjælp til din Odoo-implementering, opsætning af flere websteder eller integrationer, er vi her for at hjælpe. Book en demo for at diskutere dit projekt.