Я хотел бы поделиться версией, которую я использую сегодня для Odoo 12.0
Спасибо @arryph за фрагмент!
Я перезаписываю страницу «Свяжитесь с нами» с веб-сайта следующим образом:
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<!-- === Contact us Page === -->
<template id="custom_contactus_page_template">
<t t-call="website.layout">
<div id="wrap" class="oe_structure oe_empty">
<!-- Your page content here! -->
</div>
</t>
</template>
<record id="custom_contactus_page" model="website.page">
<field name="name">Contact us</field>
<field name="website_published">True</field>
<field name="url">/contactus</field>
<field name="view_id" ref="custom_contactus_page_template"/>
</record>
<!-- Contact us Menu Page-->
<record id="custom_contactus_nav" model="website.menu">
<field name="name">Contact us</field>
<field name="inherit_id" ref="website.menu_contactus"/>
<field name="page_id" ref="custom_contactus_page"/>
</record>
</odoo>
Как следует из документации, я предпочитаю использовать <template>
вместо <record><t-name>
, потому что <template>
проще расширять с помощью xpath.
Документация по теме сайта
Стоит отметить, что существует альтернатива для создания страниц с использованием
директива, которую мы видели раньше. Это позволит вашей странице
контент для дальнейшей настройки, используя.
EDIT
Во всяком случае, я думаю, что это будет работать слишком переопределить элемент website.menu, как показано:
<!-- Contact us Menu Page-->
<record id="website.menu_contactus" model="website.menu">
<field name="name">Contact us</field>
<field name="page_id" ref="custom_contactus_page"/>
</record>
Это изменит page_id объекта website.menu_contactus
Я не тестирую этот код, но думаю, что это сработает.
OR
Вы можете просто создать новую страницу с таким же URL-адресом, и на веб-сайте конфигурации-> страницы просто заархивируйте страницу / контакт, созданный веб-сайтом, и волшебным образом будет показана ваша страница с таким же URL-адресом.
Вот так
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<!-- === Contact us Page === -->
<template id="custom_contactus_page_template">
<t t-call="website.layout">
<div id="wrap" class="oe_structure oe_empty">
<!-- Your page content here! -->
</div>
</t>
</template>
<record id="custom_contactus_page" model="website.page">
<field name="name">Contact us</field>
<field name="website_published">True</field>
<field name="url">/contactus</field>
<field name="view_id" ref="custom_contactus_page_template"/>
</record>
<!-- Contact us Menu Page-->
<record id="your_custom_nav_item" model="website.menu">
<field name="name">Contact me</field>
<field name="page_id" ref="custom_contactus_page"/>
<field name="parent_id" ref="website.main_menu"/>
<field name="sequence" type="int">60</field>
</record>
</odoo>
И после этого заархивируйте страницу / контакт из конфигураций сайта.