我正在研究odoo 10.我想在登录页面中更改odoo和数据库下拉列表的标识。与此问题相关的答案无法解决问题。 我的尝试: 1-创建了一个mytheme模块 2-创建了清单和init 3继承模板webclient_template.xml
的书面视图我的观点如下图所示:
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="assets_backend" name="mytheme assets" inherit_id="web.assets_backend"><xpath expr="." position="inside"><link rel="stylesheet" href="/mytheme/static/src/css/base.css"/><script type="text/javascript" src="/mytheme/static/src/js/mytheme.js"></script></xpath>
</template><template id="mytheme.login_layout" inherit_id="web.login_layout" name="My Theme Login">
<xpath expr="//div[@class='oe_single_form_footer']" position="replace">
<div class="oe_single_form_footer">Here you can write your login footer</div>
</xpath>
<xpath expr="//div[@class='oe_single_form_logo']" position="replace">
<div class="oe_single_form_logo">
<img src="/mytheme/static/src/img/logo.png"
alt="My Theme Logo" title="My Theme Logo" />
</div>
</xpath>
</template>
</data>
</openerp>
我的清单显示在清单 .py:
下方
{
'name': 'mytheme',
'version': '0.1',
'depends': ['base','web'],
'external_dependencies': {},
'data': ['views/webclient_templates.xml'],
'js': ['static/src/js/mytheme.js'],
'css': ['static/src/css/base.css'],
'installable': True,
'auto_install':True,
'active':True,
}
另一个问题是我应该为js文件写什么? 我的基本文件清除数据库选择,如下所示:
base.css:
<templates>
<!-- Templates modified at the web start, before loading of a database. -->
<!-- Remove the Manage database link, but keep the Powered by OpenERP-->
<
t t-extend="Login">
<t t-jquery="div.oe_login_footer" t-operation="replace">
<a href="http://www.openerp.com" target="_blank">Powered by <span>OpenERP</span></a>
</t>
</t>
</templates
Used links: https://www.odoo.com/forum/help-1/question/how-we-removing-link-that-appear-on-login-page-of-openerp-odoo-54623
答案 0 :(得分:1)
您可以通过以下几种方式更改数据库选择页面。
您可能已经注意到,如果您有两个数据库,如果您在其中一个数据库中安装模块而另一个数据库中没有,则模块创建的视图将不会存在于第二个数据库中。因此,为了使您的视图继承工作(也是一个视图),它必须安装在您正在查看的数据库中。
更好的是,有一个页面没有绑定到数据库。这些页面的一个示例是数据库选择页面。如果你研究了一下,你会发现这个页面是作为模块web中的视图生成的:这怎么可能?我没有安装模块网 - 明确地!
但是,嘿,Odoo为你做了。他的清单中有这个指令'auto_install': True
。这应该是有帮助的。但还不够。为什么?因为自动安装的模块仍然需要数据库。
您仍然必须使其模块是服务器范围的模块。服务器范围模块是即使没有数据库也在所有数据库中安装和可用的模块。一个例子是web
模块。您还可以查看this one这是一个较小的模块,可能更容易学习。
因此,对于手头的事情:您必须创建一个默认自动安装的模块,并且是一个服务器范围的模块。在其中您继承了Web模块的模板(有一个用于登录和数据库选择的模板;您似乎知道如何做到这一点,所以我依靠您;))。然后,您只需使用--load=web,web_kanban,your_module
重新启动服务器,或者在Odoo进程使用的配置文件中指定your_module
。
希望这会有所帮助,祝你有个美好的一天。
对于javascript,这就是它的完成方式:
<template id="notification_js" name="JS Notification" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script src="/myModule/static/src/js/Notification.js" type="text/javascript"></script>
<script src="/myModule/static/src/js/Orders.js" type="text/javascript"></script>
</xpath>
</template>