Hoppa till innehåll
Odoo Meny
  • Logga in
  • Prova gratis
  • Appar
    Ekonomi
    • Bokföring
    • Fakturering
    • Utgifter
    • Kalkylark (Affärsanalyser)
    • Dokument
    • Underskrifter
    Försäljning
    • CRM
    • Försäljning
    • Kassasystem Butik
    • Kassasystem Restaurang
    • Prenumerationer
    • Uthyrning
    Hemsida
    • Hemsidesverktyg
    • E-handel
    • Blogg
    • Forum
    • Livechatt
    • Utbildning
    Leveranskedja
    • Lager
    • Tillverkning
    • Produktens livscykel (PLM)
    • Inköp
    • Underhåll
    • Kvalitet
    HR
    • Anställda
    • Rekrytering
    • Ledighet
    • Utvärderingar
    • Rekommendationer
    • Fordon
    Marknadsföring
    • Sociala medier
    • E-postmarknadsföring
    • Sms-marknadsföring
    • Evenemang
    • Automatiserad marknadsföring
    • Enkäter
    Tjänster
    • Projekt
    • Tidrapporter
    • Fältservice
    • Kundtjänst
    • Planering
    • Tidsbokningar
    Produktivitet
    • Diskutera
    • AI
    • IoT
    • VoIP
    • Kunskap
    • WhatsApp
    Community-appar Odoo Studio Odoo Cloud
  • Branscher
    Butiker
    • Bokaffärer
    • Klädbutiker
    • Möbelaffärer
    • Mataffärer
    • Byggvaruhus
    • Leksaksaffärer
    Restaurang & Hotell
    • Barer och pubar
    • Restauranger
    • Snabbmatsrestauranger
    • Gästhus
    • Dryckesdistributörer
    • Hotell
    Fastigheter
    • Fastighetsbyråer
    • Arkitektfirmor
    • Byggföretag
    • Fastighetsägare
    • Trädgårdsmästare
    • Bostadsrättsföreningar
    Hitta en konsult
    • Redovisningsbyrå
    • Odoo Partner
    • Reklambyråer
    • Advokatbyråer
    • Rekrytering
    • Revisioner och certifieringar
    Tillverkning
    • Textiltillverkning
    • Metalltillverkning
    • Möbeltillverkning
    • Livsmedelstillverkning
    • Bryggerier
    • Företagsgåvor
    Hälsa och fitness
    • Sportklubbar
    • Optiker
    • Träningscenter
    • Friskvård
    • Apotek
    • Frisörsalonger
    Hantverk
    • Hantverkare
    • IT-utrustning och kundtjänst
    • Solceller, solpaneler och solenergi
    • Skomakare
    • Städföretag
    • VVS-tjänster
    Övrigt
    • Ideella föreningar
    • Miljöförvaltningar
    • Uthyrning av reklamtavlor
    • Fotografer
    • Cykeluthyrning
    • Återförsäljare av mjukvara
    Upptäck alla Branscher
  • Community
    Utbildning
    • Instruktionsvideor
    • Dokumentation
    • Certifiering
    • Utbildningar
    • Blogg
    • Podcast
    Lär dig med oss
    • Workshops
    • Företagsspelet Scale Up!
    • Studiebesök hos Odoo
    Mjukvaran
    • Ladda ner
    • Jämför utgåvor
    • Versionsinformation
    Samverkan
    • GitHub
    • Forum
    • Evenemang
    • Översättningar
    • Bli en partner
    • Partnertjänster
    • Registrera din redovisningsbyrå
    Våra tjänster
    • Partners
    • Revisorer
    • Träffa en rådgivare
    • Implementering
    • Kundrecensioner
    • Kundtjänst
    • Uppgraderingar
    GitHub Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Boka en demo
  • Priser
  • Hjälp
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Hjälp

Odoo10: how to replace inherited qweb template content ?

Prenumerera

Få ett meddelande när det finns aktivitet på detta inlägg

Denna fråga har flaggats
odoo10Odoo10.0Odoo10
3 Svar
22169 Vyer
Avatar
peter

I have tried to insert a tag into an existing template but couldn't get it to work.

Existing template in odoo/addons/mail/static/src/xml/thread.xml

<!-- language: xml -->

    <?xml version="1.0" encoding="UTF-8"?>
    <templates xml:space="preserve">
   
        <t t-name="mail.ChatThread">
            <t t-if="messages.length">
               :
        <t t-name="mail.ChatComposer.Attachments">
            <div class="o_attachments">
                <t t-foreach="attachments" t-as='attachment'>
                    <t t-call="mail.Attachment">
                        <t t-set="editable" t-value="true"/>
                    </t>
                </t>
            </div>
        </t>

        <t t-name="mail.Attachment">
            <div t-attf-class="o_attachment #{attachment.upload ? 'o_attachment_uploading' : ''}" t-att-title="attachment.name">
   
                <a class="o_image" t-att-href='attachment.url' target="_blank" t-att-data-mimetype="attachment.mimetype" t-attf-data-src="/web/image/#{attachment.id}/100x80">
                    <span class='o_attachment_name'><t t-esc='attachment.name'/></span>
                </a>
                <t t-if="editable">
                    <div class="o_attachment_delete">
                        <i class='fa fa-times-circle' title="Delete this attachment" t-att-data-id="attachment.id"/>
                    </div>
                    <div class="o_attachment_progress_bar">
                        Uploading
                    </div>
                </t>
            </div>
        </t>

My custom template (odoo/addons/mycustom/static/src/xml/thread.xml):<br>
I want to insert the Hello world after the class o_image in the original template.

<!-- language: xml -->

    <?xml version="1.0" encoding="UTF-8"?>
    <templates xml:space="preserve">
        <t t-name="mycustom.ImageAttachment" t-extend="mail.Attachment">
            <t t-jquery="o_image" t-operation="append">
                <div>Hello world</div>
            </t>
        </t>
    </templates>

My javascript to render the template (odoo/addons/mycustom/static/src/js/thread.js):

<!-- language: lang-js -->

    odoo.define('mycustom.thread', function (require) {
    "use strict";
   
    var core = require('web.core');
    var ajax = require('web.ajax');
    var qweb = core.qweb;
   
    ajax.loadXML('/mycustom/static/src/xml/thread.xml', qweb);
    console.log("INFO", "Hello World")
   
    });

My assets file (odoo/addons/mycustom/views/assets.xml):

<!-- language: xml -->

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
        <template id="assets_backend" name="my assets" inherit_id="web.assets_backend">
          <xpath expr="." position="inside">
              <script type="text/javascript" src="/mycustom/static/src/js/thread.js"></script>
          </xpath>
        </template>
    </odoo>

My manifest file (odoo/addons/mycustom/__manifest__.py):

<!-- language: python -->

    # -*- coding: utf-8 -*-
    {
        'name': "test",
   
        'summary': """my test""",
   
        'description': """
            This is my test module.
        """,
   
        'author': "peter",
        'website': "",
   
        # Categories can be used to filter modules in modules listing
        # Check https://github.com/odoo/odoo/blob/master/odoo/addons/base/module/module_data.xml
        # for the full list
        'category': 'Test',
        'version': '0.1',
   
        # any module necessary for this one to work correctly
        'depends': ['base','mail'],
   
        # always loaded
        'data': [
            'views/assets.xml',
        ],
       
        'qweb': [
            'static/src/xml/thread.xml',
        ],
       
    }

The javascript is loaded because I can see the text `Hello World` written on the browser console.
However, I cannot see the `<div>Hello World</div>` in the chat thread. What did I miss?

0
Avatar
Avbryt
peter
Författare

sorry for the bad formatting guys, i tried to re-format the code block for my question but i got the 403 - Forbidden reply from Odoo and couldn't update my changes.

Avatar
Jalasoft, Daniel Lopez
Bästa svar

Hi Peter,

I found a problem with t-query selector, o_image is not found because it's a class, try with .o_image 


<?xml version="1.0" encoding="UTF-8"?>
<templates xml:space="preserve">
    <t t-name="mycustom.ImageAttachment" t-extend="mail.Attachment">
        <t t-jquery=".o_image" t-operation="append">
            <div>Hello world</div>
        </t>
    </t>
</templates>

Let me know if your problem was fixed

Daniel

0
Avatar
Avbryt
Avatar
Andrea Alessandrini
Bästa svar

See this answer

https://www.odoo.com/es_ES/forum/ayuda-1/question/replace-all-qweb-template-using-inheritance-94325


0
Avatar
Avbryt
Njuter du av diskussionen? Läs inte bara, delta också!

Skapa ett konto idag för att ta del av exklusiva funktioner och engagera dig i vår fantastiska community!

Registrera dig
Relaterade inlägg Svar Vyer Verksamhet
could not execute command lessc in odoo 10 Windows Löst
odoo10 Odoo10.0
Avatar
Avatar
Avatar
3
mars 18
17143
leave management odoo 10
odoo10 Odoo10.0
Avatar
Avatar
1
sep. 17
4392
How to hide a measure(field) in odoo10 grph view
odoo10 odoo10.0 odoo10e Odoo10.0 Odoo10
Avatar
Avatar
1
mars 21
5846
How odoo identify which record they have to return the value of name_search method?
name_search odoo10 odoo10.0 Odoo10.0 Odoo10
Avatar
0
juli 17
5289
How to print an excel file from form view without using wizard Löst
openerp odoo10 Odoo10.0
Avatar
Avatar
Avatar
2
apr. 18
9693
Community
  • Instruktionsvideor
  • Dokumentation
  • Forum
Öppen källkod
  • Ladda ner
  • GitHub
  • Runbot
  • Översättningar
Tjänster
  • Odoo.sh Hosting
  • Kundtjänst
  • Uppgradera
  • Anpassningsbara modifikationer
  • Utbildning
  • Revisorer
  • Partners
  • Bli en partner
Om oss
  • Vårt företag
  • Varumärkestillgångar
  • Kontakta oss
  • Jobb
  • Evenemang
  • Podcast
  • Blogg
  • Kunder
  • Juridiskt • Integritet
  • Säkerhet
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo är ett affärssystem med öppen källkod som täcker alla dina företagsbehov: CRM, e-handel, bokföring, lager, kassasystem, projektledning, och så vidare.

Odoos unika värdeförslag är att samtidigt vara väldigt enkel att använda men också helt integrerad.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now