Provides support for device based view layouts in Laravel.
torann/device-view is a Laravel package for provides support for device based view layouts in laravel..
It currently has 14 GitHub stars and 6.630 downloads on Packagist (latest version 0.0.4).
Install it with composer require torann/device-view.
Discover more Laravel packages by torann
or browse all Laravel packages to compare alternatives.
Last updated
Dynamically change Laravel views based on the visitor's device.
From the command line run:
composer require torann/device-view
This package extends Laravel's built in ViewServiceProvider, so that provider must be replaced in app/app.php.
Replace the instance of 'Illuminate\View\ViewServiceProvider', with 'Torann\DeviceView\DeviceViewServiceProvider',.
Run this on the command line from the root of your project:
$ php artisan vendor:publish --provider="Torann\DeviceView\DeviceViewServiceProvider"
A configuration file will be publish to config/device-view.php.
The default settings are for the device views to be in the views directory in resources/ with the default theme called default.
resources/
views/
default/
mobile/
tablet/
A standard call to View::make('index') will look for an index view in resources/views/default/. However, if a theme is specified with
$app['view.finder']->setDeviceView('mobile'); prior to calling View::make() then the view will first be looked for in resources/views/mobile/views.
If the view is not found for the current theme the default theme will then be searched.
The DeviceView facade can also be used if preferred DeviceView::setDeviceView('mobile') by adding an entry for Torann\DeviceView\Facades\DeviceView to config/app.php.
DeviceView::getPlatform()
Return the user's operating system.
Given a directory structure of:
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