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">&lt;!DOCTYPE html&gt;
            <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" -> обновление

Другие вопросы по тегам