Skip to Content

Forstå Odoo's Website Page Struktur: En Guide til Modellen

En komplet guide til Odoos hjemmeside side model for udviklere og funktionelle konsulenter
11. marts 2026 af
Forstå Odoo's Website Page Struktur: En Guide til Modellen
Dasolo
| Ingen kommentarer endnu

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å website.page-modellen. Den driver statiske sider på din Odoo-hjemmeside. Uanset om du bygger tilpassede landingssider, administrerer indhold eller integrerer med eksterne systemer, vil du arbejde med denne model.

Hvad er website.page-modellen


Modellen website.page repræsenterer statiske webside sider i Odoo. Det er en del af Website-appen og gemmer sider, du opretter manuelt, såsom Om os, Kontakt eller brugerdefinerede landingssider.


Denne model i Odoo bruger Odoo modelarv. Den arver fra ir.ui.view via _inherits mekanismen. Hver website.page post linker til en ir.ui.view, der indeholder QWeb-skabelonen (arch) og metadata.

Dynamiske sider, som butikken eller bloglisten, genereres anderledes.


De gemmes ikke som website.page poster. Modellen website.page er specifikt til statisk indhold, du opretter og redigerer gennem websitebyggeren.

Nøglefelter i modellen


Her er de vigtigste Odoo felter i modellen website.page. At forstå disse vil hjælpe dig med at arbejde effektivt med websider.


1. navn

Type: Char. Dette felt gemmer sidens titel. Det vises i browserfanen, i menuer og i søgeresultater. Det kommer fra den tilknyttede ir.ui.view.


2. url

Type: Char. Sidens URL-sti. Den skal starte med en skråstreg. Eksempler: /contactus, /about-us. Dette er stien, besøgende bruger til at få adgang til siden.


3. view_id

Type: Many2one (ir.ui.view). Påkrævet. Linker til QWeb-visningen, der indeholder sidens indhold. Visningen holder arch (XML-skabelon) og nøgle. Sletning af visningen kaskaderer til siden.


4. website_id

Type: Many2one (website). Den hjemmeside, denne side tilhører. I multi-hjemmeside opsætninger kan sider være specifikke for én hjemmeside eller deles (når de er tomme).


5. er_publiceret

Type: Boolean. Om siden er synlig for besøgende. Upublicerede sider returnerer 404 eller omdirigerer. Brug dette til at skjule sider uden at slette dem.


6. hjemmeside_indekseret

Type: Boolean. Kontrollerer, om søgemaskiner kan indeksere siden. Sæt til False for tak-sider eller interne sider, du ikke ønsker i søgeresultater.


7. dato_publicering

Type: Datetime. Udgivelsesdatoen. Bruges til planlagt udgivelse og til at vise, hvornår indholdet blev offentliggjort.


8. header_synlig

Type: Boolean. Om man skal vise hjemmesideheaderen på denne side. Nyttigt til landingssider eller fuldskærmsoplevelser, hvor du ønsker at skjule headeren.


9. footer_synlig

Type: Boolean. Om man skal vise hjemmesidefoden. Ligesom header_synlig, giver dette dig mulighed for at oprette sider uden standardfoden.


10. er_startside

Type: Boolean. Computed field. Sandt når denne side er indstillet som hjemmesiden for webstedet. Kun én side pr. websted kan være hjemmesiden.


11. is_visible

Type: Boolean. Computed. Angiver, om siden er synlig baseret på publiceringsstatus, dato og synlighedsregler.


12. menu_ids

Type: One2many (website.menu). Menuelementerne, der linker til denne side. En side kan vises i flere menuer eller i ingen.


13. create_date

Type: Datetime. Hvornår posten blev oprettet. Automatisk styret af Odoo. Nyttigt til revision og rapportering.


14. write_date

Type: Datetime. Hvornår posten sidst blev ændret. Også automatisk styret. Hjælper med at spore indholdsopdateringer.


15. arch

Type: Text. QWeb XML-skabelonen. Gemmes på den tilknyttede ir.ui.view. Indeholder HTML-strukturen og Odoo-snippets. Redigerbar via websitebyggeren.


16. key

Type: Char. Unik identifikator for visningen. Bruges i modul XML og til arv. Formatet er normalt modul.view_name.


17. type

Type: Selection. Visningstype. For webside sider er dette altid qweb. Andre typer inkluderer formular, liste og træ.


18. aktiv

Type: Boolean. Blød slette flag. Når den er False, bliver posten arkiveret. Kommer fra ir.ui.view. Arkiverede sider serveres ikke.


19. website_meta_title

Type: Char. SEO meta titel. Overskriver den standard titel i søgeresultater. Vigtig for SEO synlighed.


20. website_meta_description

Type: Text. SEO meta beskrivelse. Snippet vist i søgeresultater. Hold det mellem 150 og 160 tegn for bedst visning.


21. website_meta_keywords

Type: Char. Meta nøgleord. Mindre vigtigt for moderne SEO, men stadig brugt af nogle systemer. Komma-separeret.


22. header_overlay

Type: Boolean. Om headeren overlapper indholdet. Bruges til hero-stil sider, hvor headeren sidder oven på banneret.


23. header_color

Type: Valg. Header farveskema. Muligheder som gennemsigtig, lys eller mørk. Påvirker kontrast og læsbarhed.


24. synlighed

Type: Valg. Adgangskontrol. Muligheder inkluderer Offentlig, Logget ind, Begrænset gruppe eller Med adgangskode. Kontrollerer, hvem der kan se siden.


25. redirect_type

Type: Valg. Når URL'en ændres, definerer dette omdirigeringen: 301 permanent, 302 midlertidig eller ingen. Vigtigt for SEO, når sider flyttes.

Hvordan denne model bruges i forretningsarbejdsgange


1. Landingssider og kampagner

Marketingteams opretter landingssider til kampagner. Hver side er en website.page post. De kontrollerer URL, indhold og publiceringsdato. Planlagt publicering bruger date_publish.


2. Virksomhedssider

Om os, Kontakt, Vilkår for service og Privatlivspolitik er typisk website.page poster. De oprettes én gang og opdateres efter behov. Menuplacering styres via menu_ids.


3. Tak- og bekræftelsessider

Sider som "Kontaktformular indsendt" eller "Opgave modtaget" er website.page-poster. Sæt website_indexed til False, så de ikke vises i søgeresultaterne.


4. Multi-Website og Lokalisering

I multi-website opsætninger bestemmer website_id, hvilken side der vises. Du kan duplikere sider pr. website med lokaliseret indhold.


5. Gated Indhold og Begrænset Adgang

Synlighedsfeltet giver dig mulighed for at oprette sider kun for indloggede brugere eller for specifikke grupper. Nyttefuldt til medlemsområder eller intern dokumentation.

Hvordan udviklere udvider denne model


Udviklere udvider website.page ved hjælp af flere mønstre. Odoo modelarv er den primære mekanisme.


Modelarv

Brug _inherit = 'website.page' til 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 nemme opgraderinger.


Tilføjelse af Felter

Definer nye Odoo-felter i din arvede model. Brug den rigtige felttype: Char, Many2one, Boolean, Integer, Text, Selection. Overvej website-afhængige felter for multi-website.


Python Udvidelser

Overskriv create, write eller unlink for at tilføje logik. Brug super() til at kalde den originale. Vær forsigtig med view_id-forholdet og kaskadeadfærd.


Odoo Studio

Odoo Studio giver dig mulighed for at tilpasse sider uden kode. Godt til hurtige layoutændringer. For kompleks logik eller API-drevet indhold er tilpassede moduler mere vedligeholdelsesvenlige.

Bedste praksis


  • Brug URL-venlige slugs. Undgå mellemrum og specialtegn. Brug bindestreger for læsbarhed.
  • Sæt website_indexed til False for takkesider, bekræftelsessider og interne sider.
  • Når du ændrer URL'er, skal du aktivere omdirigering (301 eller 302) for at bevare SEO-værdien og undgå brudte links.
  • Udfyld website_meta_title og website_meta_description for hver offentlig side. Dette forbedrer SEO-synlighed.
  • Når du opretter sider via API eller XML-RPC, skal du først oprette ir.ui.view, derefter website.page med view_id. Sørg for, at visningen har type qweb og en unik nøgle.

Almindelige fejl


  • Oprettelse af en website.page uden en gyldig view_id. Visningen skal eksistere og have type qweb.
  • Brug af URL'er, der ikke starter med en skråstreg. Odoo forventer stier som /contactus, ikke contactus.
  • Glemmer at sætte website_indexed på takkesider. De ender i søgeresultaterne og kan fortynde SEO.
  • Ændring af en sides URL uden at opsætte en omdirigering. Gamle links går i stykker, og søgemaskiner mister forbindelsen.
  • Modificering af arkitekturen af en visning, der blev redigeret i websitebyggeren. Noupdate-flaget i ir.model.data kan forhindre, at dine XML-ændringer anvendes. Nulstil det om nødvendigt.

Konklusion


Website.page-modellen er central for statisk sidehåndtering i Odoo. Den gemmer side metadata, URL'er og publiceringsindstillinger. Det faktiske indhold findes i den tilknyttede ir.ui.view.


At forstå dens felter og hvordan den arver fra ir.ui.view vil hjælpe dig med at konfigurere, tilpasse og integrere Odoo-websteder effektivt. Uanset om du er en funktionel konsulent eller en udvikler, vil en solid forståelse af website.page 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-datastrukturen og modeller som website.page.


Hvis du har brug for hjælp til din Odoo-implementering, tilpassede webside, eller integrationer, er vi her for at hjælpe. Book en demo for at diskutere dit projekt.

Forstå Odoo's Website Page Struktur: En Guide til Modellen
Dasolo 11. marts 2026
Del dette indlæg
Log ind for at skrive en kommentar