2016-03-30 8 views
1

Ich mache eine Website auf Odoo 9, Erweiterung der Website und Web-Modul, und ein eigenes Thema erstellen. Ich habe der Kopfzeile meiner Website ein paar Seiten hinzugefügt, und eine davon ist eine Anmeldeseite, auf der sich ein Benutzer auf meiner Website anmelden kann.Wie kann ich die Header-URL ändern, nachdem sich der Benutzer in Odoo 8/9 angemeldet hat?

Mein Problem ist, dass, wenn sich der Benutzer anmeldet, die "Anmeldung" immer noch da ist und ich möchte, dass diese auf die Seite "Mein Profil" wechselt, damit der Benutzer seine Profileinstellungen verarbeiten kann.

Wie kann ich überprüfen, ob Benutzer angemeldet ist und das Element in der Kopfzeile ändern?

Antwort

1

Ist das Website-Modul nicht bereits mit einer Zeichen-Seite versehen? wie auch immer, können Sie erben website.layout die Website-Menü anpassen, versuchen Sie dies:

<template id="custom_sign_in" customize_show="True" inherit_id="website.layout" name="Custom Sign In"> 
    <xpath expr="//ul[@id='top_menu']" position="inside"> 
     <li groups="base.group_public"> 
      <a t-attf-href="/web/YourSignInPage"> 
       <b>Custom Sign in</b> 
      </a> 
     </li> 
     <li t-if="website.user_id != user_id"> 
      <a t-attf-href="/web/YourAccountPage"> 
       <b>Custom Account</b> 
      </a> 
     </li> 
    </xpath> 
</template> 

ich verwende odoo 8, nicht sicher, ob das für odoo 9 geeignet sein wird, lassen Sie mich wissen, wenn es nicht funktioniert .

+0

Ja, es hat funktioniert, ich habe auf diese gleiche Lösung gestern. Das Website-Modul hat eine Anmeldeseite, aber ich habe eine andere Seite davor platziert, um facebook- und google-Anmeldeoptionen anzubieten. Meine Lösung war nicht genau wie deine, aber die Idea ist die gleiche –

1

Meine Lösung war viel wie @SDBot ein:

<template id="custom_header" inherit_id="website.layout" name="Custom Header"> 
    <xpath expr="//div[@id='wrapwrap']/header" position="attributes"> 
     <attribute name="id">my_header</attribute> 
    </xpath> 

    <xpath expr="//ul[@class='nav navbar-nav navbar-right']/li" position="before"> 
     <t t-if="user_id.partner_id.name == 'Public user'"> 
      <li> 
       <a href="/page/website.signin"> 
       <span data-oe-model="website.menu" data-oe-id="3" data-oe-field="name" data-oe-type="char" data-oe-expression="submenu.name">SignUp</span> 
       </a> 
      </li> 
     </t> 
     <t t-if="not user_id.partner_id.name == 'Public user'"> 
      <li> 
       <a href="/page/website.profile"> 
       <span data-oe-model="website.menu" data-oe-id="3" data-oe-field="name" data-oe-type="char" data-oe-expression="submenu.name">My Profile</span> 
       </a> 
      </li> 
     </t> 
    </xpath> 
</template>