Odoo 8 - как изменить заголовок страницы?
Мне было интересно, как изменить заголовки страниц и удалить из него Odoo?
https://www.odoo.com/forum/help-1/question/change-login-page-title-34874 Я пробовал это, но ничего не нашел.
4 ответа
Заголовок устанавливается с использованием стандартного HTML <title
тег в https://github.com/odoo/odoo/blob/8.0/addons/web/views/webclient_templates.xml#L121 web.layout
шаблон:
<template id="web.layout" name="Web layout"><!DOCTYPE html>
<html style="height: 100%">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Odoo</title>
<link rel="shortcut icon" href="/web/static/src/img/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="/web/static/src/css/full.css" />
<t t-raw="head or ''"/>
</head>
<body t-att-class="body_classname">
<t t-raw="0"/>
</body>
</html>
</template>
Таким образом, вы можете изменить его в файле XML в пользовательском модуле, например так:
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="custom_title" name="change title" inherit_id="web.layout">
<xpath expr="//title" position="replace">
<title>Your title</title>
</xpath>
</template>
</data>
</openerp>
Обязательно объявите XML-файл в файле манифеста и перезагрузите модуль.
Это работает для страницы входа (если в выбранной базе данных установлен модуль с установленным этим изменением), но не будет работать на большинстве других страниц, поскольку при загрузке представления заголовок динамически изменяется клиентом javascript. (чтобы отразить ваше мнение, например, "Продукты - Odoo" или "Клиенты - Odoo")
Чтобы изменить это, вы должны расширить веб-клиент JS и отредактировать его следующим образом:
openerp.your_module_name = function(instance) {
instance.web.WebClient.include({
init: function(parent, client_options) {
this._super(parent, client_options);
this.set('title_part', {"zopenerp": "Your Title"});
},
});
};
Убедитесь, что вы сделали все необходимое, чтобы odoo включил ваш js-файл, посмотрите примеры простых модулей веб-клиента, например, web_dialog_size
С этими 2 модификациями вы должны увидеть свой пользовательский заголовок на всех страницах Odoo.
В Odoo 10 вышеуказанные решения не работают. Для Odoo 10 нам нужно отредактировать ниже файл JS
addons/web/static/src/js/abstract_web_client.js
Изменить этот код:
this.set('title_part', {"zopenerp": "
Odoo "});
С этим:
this.set('title_part', {"zopenerp": "
MyPageTitle "});
После этого вы перезагружаете сервер Odoo, чтобы увидеть изменения.
Я копался в версии сообщества 9, вам нужно посмотреть на файл:
аддоны / веб / статический / SRC / JS /web_client.js
Изменить этот код:
this.set ('title_part', {"zopenerp": "Odoo"});
С этим:
this.set ('title_part', {"zopenerp": "MyPageTitle"});
1- В аддонах /web/static/src/js/chrome.js: найдите все слова, содержащие "Odoo", и замените
2- после: Поиск в локальных модулях -> модуль с именем "Web" -> обновление