Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
13166 Vistas

Hi everybody,

I've a fresh installation of Odoo v12,

I created a custom module that contains only init, manifest files and a views folder.

Inside views folder there is 2 xml files : layout.xml and homepage.xml.

The layout.xml file contain header and footer of my website app.

The homepafe.xml file contain custom content to show in the home page.

The probleme is : the layout is working fine, but the homepage template is not! It does not appear in the frontend of my website. Instead I see only the default "Welcome to your Homepage. Let's start designing." of the native website module.

Website module is installed.

Homepage.xml:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <template id="myproject_homepage" name="Myproject Home" inherit_id="website.homepage">
        <xpath expr="//div[@id='wrap']" position="replace">
            <div id="wrap" class="oe_structure">
                <h1>Home test</h1>
            </div>
        </xpath>
    </template>
</odoo>

Layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <template id="myproject_layout" name="Main layout" inherit_id="portal.frontend_layout">
        <xpath expr="//header" position="replace">
            <!-- Header -->
            <header class="header">
                Header
            </header>
        </xpath>
        <xpath expr="//main" position="replace">
            <main>
                <!-- Content -->
                <t t-raw="0" />
                
            </main>
        </xpath>
        <xpath expr="//footer" position="replace">
            <!-- FOOTER -->
            <footer class="footer">
                Footer
            </footer>

        </xpath>
    </template>

__manifest__.py:
 
# -*- coding: utf-8 -*-
{
    'name':'My Theme',
    'description': 'A description for your theme.',
    'version':'1.0',
    'author':'Aissa BOUGUERN',

    'data': [
        'views/layout.xml',
        'views/homepage.xml'
        

    ],
    'category': 'Theme/Creative',
    'depends': ['website'],
}

Thank you!
Avatar
Descartar

Did you get any solution to this?

Mejor respuesta

Hi, You can check this: 

https://youtu.be/zqFuvqnC3zs

Hope it helps

Avatar
Descartar
Mejor respuesta

Hi,
We found any wrong in your code. But if you face the same problem again then replace your code by the following code in your homepage.XML view file. Then upgrade your module.

<template id="homepage_test" name="HomePage" inherit_id="website.homepage">
       <xpath expr="//div[@id='wrap']" position="replace">
        <div id="wrap" class="oe_structure">
                       <h1>Test Home Page</h1>
        </div>
       </xpath>
   </template>

Regards

Avatar
Descartar
Mejor respuesta

In odoo you need to use <t t-call=website.layout> to customize the page....this because odoo use header and footer like crosspage but the main change based on url/context.So to modify the layout page call website.layout and add your data there.



<template id="s_index">
<t t-call="website.layout">
<t t-set="title"><t t-esc="website.name"/></t>
  <div class="oe_structure">
    Add your html here                          
  </div>
</t>
</template>
Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
3
jul 20
14408
1
ene 24
1271
1
sept 21
6685
Theme Resuelto
2
nov 24
1271
0
oct 24
903