odoo第一天==odoo文档学习theme主题

https://www.odoo.com/documentation/10.0/howtos/themes.html
1.在addons下创建主题模块
这里写图片描述
我创建的是
这里写图片描述
创建以下目录和文件
这里写图片描述
manifest.py:主题的配置信息
init.py:系统强制需要的文件
views :放xml文件
static:放样式,js, 图片
2.在manifest.py
这里写图片描述
3.刷新模块列表就会出现我们的模块,安装它
这里写图片描述
这里写图片描述
4.扩展原来的头部
这里写图片描述
添加id在原来网页div id=’wrapwrap’ 下header元素中
这里写图片描述
会在网页中添加
这里写图片描述

这是最好的操作,如果你想要绑定css规则给一个元素,并且避免这css影响其他页面内容(注意:不要替换原来的元素属性)

添加div在原来网页div id=’wrapwrap’ 下header元素下div的最后一个
这里写图片描述
会在网页中添加
这里写图片描述
完整代码片段

<?xml version="1.0" encoding="utf-8" ?>
<odoo>
    <data>
        <!--every element and option  placed inside a <template> tag-->
        <!-- Customize header  -->
        <template id="custom_header" inherit_id="website.layout" name="Custom Header">
            <!--xpath, qWeb associated with any part of the Odoo default structure-->
            <!--expr(表达式):find html element-->
            <!--position(位置):attributes 属性-->
            <!-- Assign an id  -->
            <xpath expr="//div[@id='wrapwrap']/header" position="attributes">
                <attribute name="id">my_header</attribute>
            </xpath>

            <!--position(位置):after 属性div的后面-->
            <!-- Add an element after the top menu  -->
            <xpath expr="//div[@id='wrapwrap']/header/div" position="after">
                <div class="container">
                    <div class="alert alert-info mt16" role="alert">
                        <strong>Welcome</strong>
                        in our website!
                    </div>
                </div>
            </xpath>
        </template>
    </data>
</odoo>

manifest.py:中添加’data’: [ ‘views/layout.xml’ ]
更新下模块看下结果
5.创建一个指定的页面布局(这页面修改html,更新没有用,把services换成其他的更新运行有效)
这里写图片描述

<?xml version="1.0" encoding="utf-8" ?>
<odoo>
    <data>
        <!-- === id 是路由,这里地址是yourweb/page/services === -->
        <!-- === Services Page === -->
        <template name="Services page" id="website.services" page="True">  
            <t t-call="website.layout">
                <div id="wrap">
                    <div class="container">
                        <h1>Our Services</h1>
                        <ul class="services">
                            <li>Cloud Hosting</li>
                            <li>Support</li>
                            <li>Unlimited space</li>
                        </ul>
                        <!-- === Snippets' area === -->
                        <div class="oe_structure"/>
                    </div>
                </div>
            </t>
        </template>

        <在menu上添加标签>
        <record id="services_page_link" model="website.menu">
            <field name="name">Services</field>
            <field name="url">/page/services</field>
            <field name="parent_id" ref="website.main_menu"/>
            <field name="sequence" type="int">99</field>
        </record>
    </data>
</odoo>

6.继承原来的样式并修改
修改网页中地方
这里写图片描述
创建style.less
这里写图片描述
添加

.services {
    background: #EAEAEA;
    padding: 1em;
    margin: 2em 0 3em;
    li {
        display: block;
        position: relative;
        background-color: #16a085;
        color: #FFF;
        padding: 2em;
        text-align: center;
        margin-bottom: 1em;
        font-size: 1.5em;
    }
}

navigate to the view folder and create an XML file called assets.xml.
Remember to replace theme folder with your theme’s main folder name.
inherit_id. This attribute tells Odoo that our template is referring to another one in order to operate.

<template id="mystyle" name="My style" inherit_id="website.assets_frontend">
    <xpath expr="link[last()]" position="after">
        <link href="/theme folder/static/less/style.less" rel="stylesheet" type="text/less"/>
    </xpath>
</template>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值