Overslaan naar inhoud

Het Blog.post Model: Inzicht in Odoo's Blog Artikelstructuur

Een complete gids voor het blog.post Odoo-model voor ontwikkelaars en functionele consultants
11 maart 2026 in
Het Blog.post Model: Inzicht in Odoo's Blog Artikelstructuur
Dasolo
| Nog geen reacties

Inleiding


In Odoo definiëren modellen hoe gegevens zijn gestructureerd en opgeslagen in de database. Elk stuk bedrijfsdata waar u mee werkt, leeft in een model.


Odoo-modellen zijn de basis van de gegevensarchitectuur. Ze definiëren Odoo-velden, relaties en bedrijfslogica. Begrijpen hoe modellen werken is essentieel voor zowel ontwikkelaars als functionele consultants.


Dit artikel richt zich op het blog.post model. Het ondersteunt de blogfunctionaliteit op Odoo-websites. Of u nu inhoud maakt via de UI, berichten automatiseert via de API, of de blogervaring aanpast, u zult met dit model werken.

Wat is het blog.post Model


Het blog.post-model vertegenwoordigt een enkel blogartikel in Odoo. Elke record is één post die op uw websiteblog verschijnt.


Dit model in Odoo maakt deel uit van de website_blog-module. Het werkt samen met blog.blog (de blogcontainer) en blog.tag (voor categorisatie). Wanneer u een blogartikel in Odoo aanmaakt of bewerkt, maakt u een blog.post-record aan of werkt u het bij.


Het model erft van verschillende mixins. Het gebruikt de mail.thread-mixin voor chatter en volgers. Het gebruikt de website.published.mixin voor publicatie- en de-publicatie-logica. Het begrijpen van deze Odoo-modelerfenis helpt bij het uitbreiden van het model.


blog.post is geen abstract Odoo-model of tijdelijk model. Het is een regulier opgeslagen model. Alle berichten worden in de database opgeslagen en kunnen via de API worden opgevraagd.

Belangrijke Velden in het Model


Hier zijn de belangrijkste Odoo-velden in het blog.post-model. Het begrijpen hiervan helpt u om effectief met bloginhoud te werken.


1. naam

Type: Char. Dit veld slaat de titel van de blogpost op. Het is verplicht en wordt weergegeven in lijsten, formulieren en op de website. De naam verschijnt in het browsertabblad en in zoekresultaten.


2. blog_id

Type: Many2one (blog.blog). Verbindt de post met zijn blogcontainer. Elke blog.post behoort tot precies één blog. Gebruik dit om berichten in verschillende blogsecties te organiseren (bijv. Nieuws, Productupdates, Technische gidsen).


3. subtitel

Type: Char. Een korte subtitel of tagline. Weergegeven onder de titel op de postpagina en soms in blogoverzichten. Nuttig voor SEO en leesbaarheid.


4. inhoud

Type: Html. De hoofdinhoud van het artikel. Slaat rijke HTML-inhoud op, inclusief tekst, afbeeldingen en Odoo-websitefragmenten. Dit is het primaire inhoudsveld.


5. teaser

Type: Text. Automatisch gegenereerde teaser uit de inhoud. Odoo haalt een preview op voor weergave in blogoverzichten. Alleen-lezen en berekend.


6. teaser_manual

Type: Text. Handmatige teaser override. Wanneer ingesteld, vervangt dit de automatisch gegenereerde teaser in blogoverzichten. Gebruik voor aangepaste samenvattingen die verschillen van de openingsparagraaf.


7. author_id

Type: Many2one (res.partner). De auteur van de post. Verbindt met een contact of gebruiker. Weergegeven op de post en in overzichten. Nuttig voor blogs met meerdere auteurs.


8. author_name

Type: Char. Berekende weergavenaam van de auteur. Valt terug op de weergavenaam van de auteur wanneer author_id is ingesteld. Alleen-lezen.


9. author_avatar

Type: Binary. Afbeelding van de auteur. Weergegeven naast de naam van de auteur op de post. Optioneel.


10. is_published

Type: Boolean. Of de post gepubliceerd en zichtbaar is op de website. Alleen-lezen berekend veld. Gebruik website_published om dit te wijzigen.


11. website_published

Type: Boolean. Het schrijfbare veld om te publiceren of niet te publiceren. Stel in op True om de post live te maken. Stel in op False om te concepten. Dit stuurt is_published.


12. post_date

Type: Datetime. De publicatiedatum die aan bezoekers wordt getoond. Gebruikt voor sorteren en weergave. Kan in de toekomst worden ingesteld voor geplande berichten.


13. published_date

Type: Datetime. De werkelijke datum waarop de post is gepubliceerd. Automatisch ingesteld wanneer website_published True wordt. Nuttig voor analyses.


14. active

Type: Boolean. Soft delete vlag. Wanneer False, wordt het record gearchiveerd en verborgen voor standaardweergaven. Berichten worden niet fysiek verwijderd om de geschiedenis te behouden.


15. tag_ids

Type: Many2many (blog.tag). Tags voor categorisatie. Gebruikt om berichten te filteren en te groeperen. Tags kunnen categorieën hebben voor hiërarchische organisatie.


16. visits

Type: Integer. Bezoeker teller. Alleen-lezen. Verhoogd wanneer bezoekers de post bekijken. Gebruikt voor analyses en populaire inhoud.


17. website_url

Type: Char. Volledige URL-pad naar de post op de website. Alleen-lezen. Formaat: /blog/{blog-seo-name}-{blog-id}/{post-seo-name}-{post-id}.


18. cover_properties

Type: Text. JSON-string die de eigenschappen van de omslagafbeelding opslaat. Beheert positionering, overlay en weergave van de blogomslagafbeelding. Gebruikt door de frontend.


19. header_visible

Type: Boolean. Of de website-header op de postpagina moet worden weergegeven. Nuttig voor volledige breedte of ingesloten berichten.


20. footer_visible

Type: Boolean. Of de website-footer op de postpagina moet worden weergegeven. Vaak gecombineerd met header_visible.


21. seo_name

Type: Char. SEO-vriendelijke URL-slug. Bepaalt het URL-pad. Voorbeeld: my-post-title wordt /blog/my-blog-1/my-post-title-1. Automatisch gegenereerd uit naam als leeg.


22. website_meta_title

Type: Char. Meta titel voor zoekmachines. Weergegeven in de browsertab en zoekresultaten. Belangrijk voor SEO.


23. website_meta_beschrijving

Type: Text. Meta beschrijving voor zoekmachines. Weergegeven in zoekfragmenten. Houd het bij 150-160 tekens voor de beste weergave.


24. website_meta_trefwoorden

Type: Char. Meta trefwoorden. Minder belangrijk voor SEO vandaag de dag, maar nog steeds gebruikt door sommige systemen.


25. aanmaakdatum

Type: Datetime. Slaat de datum op waarop het record is aangemaakt. Automatisch beheerd door Odoo. Nuttig voor rapportage en auditing.


26. aanmaak_gebruiker

Type: Many2one (res.users). Gebruiker die het record heeft aangemaakt. Automatisch ingesteld. Alleen-lezen.


27. wijzigingsdatum

Type: Datetime. Laatste wijzigingsdatum. Automatisch beheerd. Helpt bij het bijhouden wanneer de inhoud voor het laatst is bijgewerkt.


28. wijzigings_gebruiker

Type: Many2one (res.users). Gebruiker die het record voor het laatst heeft gewijzigd. Alleen-lezen.


29. display_name

Type: Char. Gecomputeerde weergavenaam. Gebruikt in many2one dropdowns en zoekresultaten. Alleen-lezen.


30. website_id

Type: Many2one (website). In multi-website setups, de website waar deze post bij hoort. Optioneel; wanneer leeg, kan de post op alle websites verschijnen.

Hoe Dit Model Wordt Gebruikt in Bedrijfsworkflows


1. Contentmarketing en SEO

Marketingteams creëren blog.post records om artikelen te publiceren. Ze gebruiken website_meta_title, website_meta_description en seo_name om te optimaliseren voor zoekmachines. Het contentveld bevat het volledige artikel. Tags helpen om inhoud per onderwerp te organiseren.


2. Multi-Blog Websites

Bedrijven hebben meerdere blogs (Nieuws, Productupdates, Technische Documenten). Elke blog.blog heeft veel blog.post records. Het blog_id veld koppelt elke post aan zijn categorie. Bezoekers bladeren per blog en filteren op tag.


3. API-gedreven Inhoud

Integraties creëren blog.post records via XML-RPC of JSON-RPC. Toepassingen omvatten importeren vanuit een CMS, synchroniseren vanuit een headless blog, of automatiseren van postcreatie vanuit interne systemen. Het API-model in Odoo stelt blog.post beschikbaar voor creëren, lezen, bijwerken en zoeken.


4. Geplande Publicatie

Stel post_date in op een toekomstige datum en website_published op True. Odoo toont de post wanneer de datum is bereikt. Handig voor contentkalenders en getimede campagnes.


5. Multi-Auteur en Samenwerking

Het veld author_id en de mail.thread mixin ondersteunen samenwerking. Auteurs worden per post toegewezen. Volgers worden op de hoogte gesteld van wijzigingen. Chatter maakt interne opmerkingen mogelijk vóór publicatie.

Hoe Ontwikkelaars Dit Model Uitbreiden


Ontwikkelaars breiden blog.post uit met verschillende patronen. Odoo modelovererving is het belangrijkste mechanisme.


Modelovererving

Gebruik _inherit = 'blog.post' om het model uit te breiden. Voeg nieuwe Odoo-velden toe, overschrijf methoden of voeg beperkingen toe. Het erfmodel in Odoo houdt je wijzigingen in een apart module voor gemakkelijke upgrades. blog.post erft van mail.thread en website.published.mixin; begrijp deze wanneer je overschrijft.


Velden Toevoegen

Definieer nieuwe Odoo-velden in je geërfde model. Gebruik het juiste veldtype: Char, Many2one, Boolean, Integer, Text, Selection. Voor aangepaste metadata (leestijd, aangepaste categorieën), voeg velden toe en exposeer ze in weergaven. Gebruik het x_ voorvoegsel voor aangepaste velden om conflicten te vermijden.


Python Uitbreidingen

Overschrijf create, write of unlink om logica toe te voegen. Gebruik super() om de originele aanroep te doen. Wees voorzichtig met website_published en post_date. Het model heeft berekende velden van de website mixin. Overschrijf _compute_website_url als je aangepaste URL-logica nodig hebt.


Odoo Studio

Odoo Studio stelt je in staat om velden toe te voegen zonder code. Goed voor snelle aanpassingen zoals extra metadata. Voor complexe logica, API-integraties of aangepaste weergaven zijn aangepaste modules beter onderhoudbaar. Het API-model in Odoo (blog.post) is volledig blootgesteld via XML-RPC en JSON-RPC.

Beste Praktijken


  • Stel website_meta_title en website_meta_description in voor elke post. Ze verbeteren de SEO-zichtbaarheid.
  • Gebruik teaser_manual voor blogoverzichten wanneer de automatisch gegenereerde teaser niet past. Aangepaste teasers presteren vaak beter.
  • Stel seo_name expliciet in voor belangrijke berichten. Vermijd speciale tekens die URL's kunnen breken.
  • Bij het bouwen van API-integraties, gebruik website_published om te publiceren. Vertrouw niet op is_published voor schrijfbewerkingen.
  • Gebruik tag_ids voor consistente categorisatie. Maak tags van tevoren aan en hergebruik ze in berichten.

Veelvoorkomende Fouten


  • Schrijven naar is_published in plaats van website_published. is_published is alleen-lezen. Gebruik altijd website_published om te publiceren of te depubliceren.
  • Vergeten om blog_id in te stellen. Dit is vereist. Berichten zonder een blog worden niet correct weergegeven.
  • Website_meta_description leeg laten. Zoekmachines kunnen willekeurige inhoud van de pagina gebruiken. Geef altijd een duidelijke beschrijving van 150-160 tekens.
  • Kernmethoden overschrijven zonder super() aan te roepen. Dit kan het website mixin of mail.thread gedrag breken.
  • Dubbele seo_name waarden creëren binnen dezelfde blog. URL's kunnen conflicteren. Laat Odoo automatisch genereren of zorg voor uniciteit.

Conclusie


Het blog.post model is centraal in Odoo's website blog. Het slaat elk artikel, de inhoud, metadata en publicatiestatus op. Begrijpen van zijn Odoo-velden en hoe het zich verhoudt tot blog.blog en blog.tag zal je helpen om bloginhoud effectief te configureren, aan te passen en te integreren.


Of je nu een functioneel consultant bent die inhoud beheert of een ontwikkelaar die API-integraties bouwt, een goed begrip van blog.post zal tijd besparen en fouten voorkomen.

Hulp Nodig Bij Uw Odoo Implementatie?


Dasolo helpt bedrijven bij het implementeren, aanpassen en optimaliseren van Odoo. We zijn gespecialiseerd in API-integraties en Odoo-ontwikkeling. Ons team heeft diepgaande ervaring met de Odoo-gegevensarchitectuur en modellen zoals blog.post.


Als je hulp nodig hebt bij je Odoo-implementatie, aangepaste modules of integraties, zijn wij hier om te helpen. Boek een demo om je project te bespreken.

Het Blog.post Model: Inzicht in Odoo's Blog Artikelstructuur
Dasolo 11 maart 2026
Deel deze post
Aanmelden om een reactie achter te laten