torann/device-view

为Laravel提供基于设备的视图布局支持。

0.0.4 2017-01-26 18:41 UTC

This package is auto-updated.

Last update: 2024-09-08 09:17:06 UTC


README

Total Downloads Patreon donate button Donate weekly to this project using Gratipay Donate to this project using Flattr Donate to this project using Paypal

根据访问者的设备动态更改Laravel视图。

安装

Composer

从命令行运行

composer require torann/device-view

设置

此包扩展了Laravel内置的ViewServiceProvider,因此必须在app/app.php中替换此服务提供者。将'Illuminate\View\ViewServiceProvider',替换为'Torann\DeviceView\DeviceViewServiceProvider',

发布配置

从项目的根目录运行此命令行

$ php artisan vendor:publish --provider="Torann\DeviceView\DeviceViewServiceProvider"

配置文件将被发布到config/device-view.php

配置

默认设置是设备视图位于resources/目录下的views目录中,默认主题为default

resources/
    views/
        default/
        mobile/
        tablet/

使用方法

View::make('index')的标准调用将在resources/views/default/中查找index视图。然而,如果在使用View::make()之前使用$app['view.finder']->setDeviceView('mobile');指定了主题,那么视图将首先在resources/views/mobile/views中查找。如果当前主题找不到视图,则将搜索默认主题。

门面

如果愿意,也可以使用DeviceView门面DeviceView::setDeviceView('mobile'),通过在config/app.php中添加一个条目Torann\DeviceView\Facades\DeviceView

辅助方法

DeviceView::getPlatform()

返回用户的操作系统。

示例

给定以下目录结构:

resources/
    views/
        default/
            layout.blade.php
            admin.blade.php
        mobile/
            layout.blade.php
View::make('layout'); // Loads resources/views/default/layout.blade.php

$app['view.finder']->setDeviceView('default');

View::make('layout'); // Loads resources/views/mobile/layout.blade.php
View::make('admin'); // Loads resources/views/default/admin.blade.php