Passa al contenuto

Modello Website.page: Comprendere l'Architettura delle Pagine Odoo

Una guida completa al modello di pagina del sito web di Odoo per sviluppatori e consulenti funzionali
11 marzo 2026 di
Modello Website.page: Comprendere l'Architettura delle Pagine Odoo
Dasolo
| Ancora nessun commento

Introduzione


In Odoo, i modelli definiscono come i dati sono strutturati e memorizzati nel database. Ogni pezzo di dati aziendali con cui lavori vive in un modello.


Comprendere i modelli di Odoo è essenziale sia per gli sviluppatori che per i consulenti funzionali. I modelli sono la base dell'architettura dei dati di Odoo. Definiscono i campi di Odoo, le relazioni e la logica aziendale.


Questo articolo si concentra sul modello website.page. Esso alimenta le pagine statiche sul tuo sito web Odoo. Che tu stia creando pagine di atterraggio personalizzate, gestendo contenuti o integrando sistemi esterni, lavorerai con questo modello.

Cos'è il modello website.page


Il modello website.page rappresenta le pagine statiche del sito web in Odoo. Fa parte dell'app Website e memorizza le pagine che crei manualmente, come Chi Siamo, Contatti o pagine di atterraggio personalizzate.


Questo modello in Odoo utilizza l'ereditarietà dei modelli di Odoo. Eredita da ir.ui.view tramite il meccanismo _inherits. Ogni record website.page è collegato a un ir.ui.view che contiene il template QWeb (arch) e i metadati.

Le pagine dinamiche, come quelle del negozio o dell'elenco del blog, vengono generate in modo diverso.


Non sono memorizzate come record website.page. Il modello website.page è specificamente per contenuti statici che crei e modifichi tramite il costruttore di siti web.

Campi chiave nel modello


Ecco i campi Odoo più importanti nel modello website.page. Comprendere questi campi ti aiuterà a lavorare in modo efficace con le pagine del sito web.


1. name

Tipo: Char. Questo campo memorizza il titolo della pagina. Viene visualizzato nella scheda del browser, nei menu e nei risultati di ricerca. Proviene dall'ir.ui.view collegato.


2. url

Tipo: Char. Il percorso URL della pagina. Deve iniziare con una barra. Esempi: /contactus, /about-us. Questo è il percorso che i visitatori usano per accedere alla pagina.


3. view_id

Tipo: Many2one (ir.ui.view). Obbligatorio. Collega alla vista QWeb che contiene il contenuto della pagina. La vista contiene l'arch (template XML) e la chiave. Eliminare la vista si riflette sulla pagina.


4. website_id

Tipo: Many2one (sito web). Il sito web a cui appartiene questa pagina. In configurazioni multi-sito, le pagine possono essere specifiche per un sito web o condivise (quando vuote).


5. è_pubblicato

Tipo: Booleano. Se la pagina è visibile ai visitatori. Le pagine non pubblicate restituiscono 404 o reindirizzano. Usa questo per nascondere le pagine senza eliminarle.


6. sito_indicizzato

Tipo: Booleano. Controlla se i motori di ricerca possono indicizzare la pagina. Imposta su Falso per le pagine di ringraziamento o le pagine interne che non vuoi nei risultati di ricerca.


7. data_pubblicazione

Tipo: Datetime. La data di pubblicazione. Utilizzata per la pubblicazione programmata e per visualizzare quando il contenuto è stato reso disponibile.


8. intestazione_visibile

Tipo: Booleano. Se mostrare l'intestazione del sito web su questa pagina. Utile per le pagine di atterraggio o le esperienze a schermo intero in cui si desidera nascondere l'intestazione.


9. piè_di_pagina_visibile

Tipo: Booleano. Se mostrare il piè di pagina del sito web. Come intestazione_visibile, questo ti consente di creare pagine senza il piè di pagina standard.


10. è_homepage

Tipo: Booleano. Campo calcolato. Vero quando questa pagina è impostata come homepage del sito web. Solo una pagina per sito web può essere la homepage.


11. è_visibile

Tipo: Booleano. Calcolato. Indica se la pagina è visibile in base allo stato di pubblicazione, alla data e alle regole di visibilità.


12. menu_ids

Tipo: One2many (website.menu). Gli elementi di menu che collegano a questa pagina. Una pagina può apparire in più menu o in nessuno.


13. data_creazione

Tipo: Datetime. Quando il record è stato creato. Gestito automaticamente da Odoo. Utile per audit e report.


14. data_modifica

Tipo: Datetime. Quando il record è stato modificato per l'ultima volta. Anche gestito automaticamente. Aiuta a tenere traccia degli aggiornamenti dei contenuti.


15. arch

Tipo: Testo. Il template XML QWeb. Memorizzato nella vista ir.ui.view collegata. Contiene la struttura HTML e i frammenti Odoo. Modificabile tramite il costruttore di siti web.


16. chiave

Tipo: Char. Identificatore univoco per la vista. Utilizzato nel XML del modulo e per l'ereditarietà. Il formato è solitamente module.view_name.


17. tipo

Tipo: Selezione. Il tipo di vista. Per le pagine web, questo è sempre qweb. Altri tipi includono form, list e tree.


18. attivo

Tipo: Booleano. Flag di cancellazione soft. Quando è False, il record è archiviato. Proviene da ir.ui.view. Le pagine archiviate non vengono servite.


19. website_meta_title

Tipo: Char. Titolo meta SEO. Sovrascrive il titolo predefinito nei risultati di ricerca. Importante per la visibilità SEO.


20. website_meta_description

Tipo: Testo. Descrizione meta SEO. Il frammento mostrato nei risultati dei motori di ricerca. Mantienilo tra 150 e 160 caratteri per una migliore visualizzazione.


21. website_meta_keywords

Tipo: Char. Parole chiave meta. Meno importanti per il SEO moderno ma ancora utilizzate da alcuni sistemi. Separate da virgole.


22. header_overlay

Tipo: Booleano. Se l'intestazione sovrappone il contenuto. Utilizzato per pagine in stile hero dove l'intestazione si trova sopra il banner.


23. colore_intestazione

Tipo: Selezione. Schema di colore dell'intestazione. Opzioni come trasparente, chiaro o scuro. Influisce su contrasto e leggibilità.


24. visibilità

Tipo: Selezione. Controllo accessi. Le opzioni includono Pubblico, Accesso Autenticato, Gruppo Riservato o Con Password. Controlla chi può visualizzare la pagina.


25. tipo_reindirizzamento

Tipo: Selezione. Quando l'URL cambia, questo definisce il reindirizzamento: 301 permanente, 302 temporaneo o nessuno. Importante per la SEO quando si spostano le pagine.

Come viene utilizzato questo modello nei flussi di lavoro aziendali


1. Pagine di Atterraggio e Campagne

I team di marketing creano pagine di atterraggio per le campagne. Ogni pagina è un record website.page. Controllano URL, contenuto e data di pubblicazione. La pubblicazione programmata utilizza date_publish.


2. Pagine Aziendali

Chi Siamo, Contatti, Termini di Servizio e Informativa sulla Privacy sono tipicamente record website.page. Vengono creati una sola volta e aggiornati secondo necessità. Il posizionamento nel menu è gestito tramite menu_ids.


3. Pagine di Ringraziamento e Conferma

Pagine come "Modulo di contatto inviato" o "Compito ricevuto" sono record website.page. Imposta website_indexed su False affinché non appaiano nei risultati di ricerca.


4. Multi-Sito e Localizzazione

Nei setup multi-sito, website_id determina quale sito mostra la pagina. Puoi duplicare le pagine per sito con contenuti localizzati.


5. Contenuti Riservati e Accesso Limitato

Il campo visibilità ti consente di creare pagine solo per utenti con accesso, o per gruppi specifici. Utile per aree riservate ai membri o documentazione interna.

Come gli sviluppatori estendono questo modello


Gli sviluppatori estendono website.page utilizzando diversi modelli. L'ereditarietà dei modelli Odoo è il meccanismo principale.


Ereditarietà dei Modelli

Usa _inherit = 'website.page' per estendere il modello. Aggiungi nuovi campi Odoo, sovrascrivi metodi o aggiungi vincoli. Il modello ereditato in Odoo mantiene le tue modifiche in un modulo separato per aggiornamenti facili.


Aggiunta di Campi

Definisci nuovi campi Odoo nel tuo modello ereditato. Usa il tipo di campo corretto: Char, Many2one, Boolean, Integer, Text, Selection. Considera campi dipendenti dal sito per multi-sito.


Estensioni Python

Sovrascrivi create, write o unlink per aggiungere logica. Usa super() per chiamare l'originale. Fai attenzione alla relazione view_id e al comportamento di cascata.


Odoo Studio

Odoo Studio ti consente di personalizzare le pagine senza codice. Ottimo per modifiche rapide al layout. Per logiche complesse o contenuti basati su API, i moduli personalizzati sono più manutenibili.

Migliori pratiche


  • Usa slug compatibili con gli URL. Evita spazi e caratteri speciali. Usa trattini per la leggibilità.
  • Imposta website_indexed su False per le pagine di ringraziamento, le pagine di conferma e le pagine interne.
  • Quando cambi gli URL, abilita il reindirizzamento (301 o 302) per preservare il valore SEO e evitare link interrotti.
  • Compila website_meta_title e website_meta_description per ogni pagina pubblica. Questo migliora la visibilità SEO.
  • Quando crei pagine tramite API o XML-RPC, crea prima l'ir.ui.view, poi la website.page con view_id. Assicurati che la vista abbia tipo qweb e una chiave unica.

Errori comuni


  • Creazione di una website.page senza un view_id valido. La vista deve esistere e avere tipo qweb.
  • Utilizzo di URL che non iniziano con una barra. Odoo si aspetta percorsi come /contactus, non contactus.
  • Dimenticare di impostare website_indexed sulle pagine di ringraziamento. Esse finiscono nei risultati di ricerca e possono diluire il SEO.
  • Cambiamento di un URL di pagina senza impostare un reindirizzamento. I vecchi link si rompono e i motori di ricerca perdono la connessione.
  • Modifica dell'architettura di una vista che è stata modificata nel costruttore di siti web. Il flag noupdate in ir.model.data può impedire l'applicazione delle tue modifiche XML. Ripristinalo se necessario.

Conclusione


Il modello website.page è centrale nella gestione delle pagine statiche in Odoo. Memorizza i metadati delle pagine, gli URL e le impostazioni di pubblicazione. Il contenuto effettivo risiede nella vista ir.ui.view collegata.


Comprendere i suoi campi e come eredita da ir.ui.view ti aiuterà a configurare, personalizzare e integrare efficacemente i siti web Odoo. Che tu sia un consulente funzionale o uno sviluppatore, una solida comprensione di website.page ti farà risparmiare tempo e prevenire errori.

Hai bisogno di aiuto con la tua implementazione di Odoo?


Dasolo aiuta le aziende a implementare, personalizzare e ottimizzare Odoo. Siamo specializzati in integrazioni API e sviluppo Odoo. Il nostro team ha una profonda esperienza con l'architettura dei dati di Odoo e modelli come website.page.


Se hai bisogno di aiuto con la tua implementazione di Odoo, pagine web personalizzate o integrazioni, siamo qui per aiutarti. Prenota una demo per discutere del tuo progetto.

Modello Website.page: Comprendere l'Architettura delle Pagine Odoo
Dasolo 11 marzo 2026
Condividi articolo
Accedi per lasciare un commento