Heim  >  Artikel  >  PHP-Framework  >  Einführung in die Konfiguration dualer Vorlagen in Laravel (Codebeispiel)

Einführung in die Konfiguration dualer Vorlagen in Laravel (Codebeispiel)

不言
不言nach vorne
2019-03-02 13:43:173320Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Konfiguration von Dual-Vorlagen in Laravel (Codebeispiele). Ich hoffe, dass er für Sie hilfreich ist.

Während des Entwicklungsprozesses können Sie von Zeit zu Zeit auf bestimmte Projekte stoßen, die die Verwendung von zwei Vorlagensätzen erfordern

Zum Beispiel verwenden die PC-Seite und die mobile Seite unterschiedliche Vorlagendateien Erzielen Sie die beste Benutzererfahrung

Wie sollten wir die Vorlagendatei von Laravel konfigurieren, wenn wir auf diese Situation stoßen?

1. Installieren Sie das whichbrowser/parser-Portal: WhichBrowser/Parser-PHP

Wird verwendet, um festzustellen, ob der PC oder mobile Geräte bei Bedarf unterschiedliche Vorlagen laden.

composer require whichbrowser/parser

2. Verwenden Sie den Befehl artisan, um eine neue Middleware (Middleware) zu erstellen.

Nach der Ausführung , es befindet sich im Verzeichnis app/Http/Middleware. Generieren Sie die Middleware-Datei

3. Bearbeiten Sie die Datei Template.php

php artisan make:middleware Template
4. Registrieren Sie abschließend die Middleware

und drücken Sie die

-Klasse. Es ist notwendig, die Middleware zu registrieren. app/Http/Kernel.php

Wenn Sie die globale Middleware registrieren:

class Template
{
    protected $except = [];

    public function handle($request, Closure $next)
    {
        $result = new WhichBrowser\Parser(getallheaders());
        // 如果是桌面类型, 返回true
        $isDesktop = $result->isType('desktop');
        if ($isDesktop) {
            // 加载pc端的模板文件
            $path = resource_path('views/pc/');
        } else {
            // 加载mobile端的模板文件
            $path = resource_path('views/mobile/');
        }
        // 获取视图查找器实例
        $view = app('view')->getFinder();
        // 重新定义视图目录
        $view->prependLocation($path);
        // 返回请求
        return $next($request);
    }
}
Sobald dies erledigt ist, können Sie andere laden Vorlagendateien für verschiedene Geräte

Tun Sie dies einfach in der Steuerung. Sie können verschiedene Vorlagen für verschiedene Geräte laden

protected $middleware = [
    \App\Http\Middleware\Template::class,
];
Wenn Sie beispielsweise die Webseite von einem PC-Gerät aus öffnen: Laden /resources/views/pc/registration/index.blade.php-Vorlage

Wenn Sie beispielsweise die Webseite von einem PC-Gerät aus öffnen: Öffnen Sie die Webseite auf einem mobilen Gerät: Laden Sie /resources/views/mobile /registration/index.blade.php-Vorlage

Das obige ist der detaillierte Inhalt vonEinführung in die Konfiguration dualer Vorlagen in Laravel (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen