2017-04-12 5 views
0

Ich bin neu in Keystone, aber haben den ganzen Tag versucht, die zur Zeit in Benutzernamen angemeldet zu finden, aber ich bin mir nicht klar, wie dies zu tun.keystone.js Aktuell angemeldete Benutzer

Wenn ich nehmen Sie die Indexansicht von Keystone zum Beispiel

{{!< default}} 
<div class="container"> 
    <div class="jumbotron"><img src="/images/logo.svg" width="160"> 
     <h1>Welcome</h1> 
     <p>This is your new <a href='http://keystonejs.com' target='_blank'>KeystoneJS</a> website.</p> 
     <p> 
      It includes the latest versions of 
      <a href='http://getbootstrap.com/' target='_blank'>Bootstrap</a> 
      and <a href='http://www.jquery.com/' target='_blank'>jQuery</a>. 
     </p> 
     <p>Visit the <a href='http://keystonejs.com/guide' target='_blank'>Getting Started</a> guide to learn how to customise it.</p> 
     <hr> 
     <p>We have created a default Admin user for you with the email <strong>[email protected]</strong> and the password <strong>admin</strong>.</p> 
     <p><a href="/keystone/signin" style="margin-right: 10px" class="btn btn-lg btn-primary">Sign in</a> to use the Admin UI.</p> 
     <hr> 
     <p> 
      Remember to <a href='https://github.com/keystonejs/keystone' target='_blank'>Star KeystoneJS on GitHub</a> and 
      <a href='https://twitter.com/keystonejs' target='_blank'>follow @keystonejs</a> on twitter for updates. 
     </p> 
    </div> 
</div> 

und ich möchte wie

<h1>Welcome Tim</h1> 

den Benutzernamen der Ansicht Code Somthing hinzuzufügen habe ich

versucht
<h1>Welcome {{locals.user}}</h1> 
<h1>Welcome {{locals.user.name}}</h1> 
<h1>Welcome {{req.user}}</h1> (using an Express request) 

Aber ohne Erfolg. Wie finde ich den Benutzernamen aus dem Benutzermodell? Muss ich zuerst etwas anderes in den .. \ routes \ views definieren?

Wenn jemand mit einem Beispiel oder Zeigern in der richtigen Richtung helfen könnte, Id in der Tat sehr dankbar!

Antwort

3

Wenn Sie den Yeoman-Generator verwendet, einer der Middleware-Funktionen enthalten (initLocals) stellt den aktuellen Benutzer auf eine lokale Variable.

res.locals.user = req.user; 

https://github.com/keystonejs/generator-keystone/blob/master/app/templates/routes/_middleware.js#L27

Sie brauchen nicht locals vor dem Variablennamen in Lenker aufzunehmen. So entfernen Sie es, um die aktuellen Benutzerinformationen zu erhalten.

{{user}} 
{{user.name}} 
+0

Sie Herr, sind fantastisch. genauer durch den Middleware-Code nach der Lektüre, ich glaube, ich verstehe es jetzt. – masterofimps

Verwandte Themen