Was ist der beste Weg, um ein Hauptmenü in Laravel 5 zu erstellen? Und wie werden Menüpunkte nur angezeigt, wenn ein Benutzer angemeldet ist? Und was ist der beste Weg, um diese Multi-Sprache zu machen?So erstellen Sie ein mehrsprachiges Menü in Laravel 5
0
A
Antwort
6
Laravel bietet eine einfache Möglichkeit, wenn der Benutzer zu überprüfen angemeldet ist in durch die Fassade Auth::check()
verwenden.
if (Auth::check()) {
// The user is logged in...
}
Über die Übersetzung, können Sie hier überprüfen: Localization
Die Struktur wie folgt definiert ist, wie pro Dokumentation:
/resources
/lang
/en
messages.php
/es
messages.php
Laravel bietet auch eine einfache Möglichkeit, Sätze zu übersetzen, die mit trans('string.to.translate')
, die hier zu sehen ist trans().
In messages.php (in beiden lang-Verzeichnissen) müssen Sie den Übersetzungsstring setzen. In en/messages.php
:
return [
'welcome' => 'Welcome'
];
In es/messages.php
:
return [
'welcome' => 'Bienvenido'
];
Mit diesen beiden, die Sie in Ihre Anwendung beispielsweise tun kann Folgendes:
// Get the user locale, for the sake of clarity, I'll use a fixed string.
// Make sure is the same as the directory under lang.
App::setLocale('en');
In Ihrem view
:
// Using blade, we check if the user is logged in.
// If he is, we show 'Welcome" in the menu. If the lang is set to
// 'es', then it will show "Bienvenido".
@if (Auth::check())
<ul>
<li> {{ trans('messages.welcome') }} </li>
</ul>
@endif
-1
mit https://laravel.com/docs/5.1/authentication
Zum Beispiel Versuchen:
if (Auth::check()) {
return something to view
}