unisharp / laravel-widgetify
help dealing with data in partial view with laravel.
dev-master
2015-11-10 03:17 UTC
Requires
- php: >=5.5.0
- illuminate/support: >=5.0.0
This package is auto-updated.
Last update: 2024-10-15 15:11:15 UTC
README
- Help you get partial views as widgets
Installation
-
install package
composer require unisharp/laravel-widgetify
-
edit config/app.php
service provider :
Unisharp\Widget\WidgetServiceProvider::class,
class aliases :
'Widget' => Unisharp\Widget\WidgetFacade::class,
-
publish widget template class
php artisan vendor:publish --tag=widget_example
Usage
Widget::set('side', 'widget-class-name', $args = []]); // set widgets with position Widget::get('side'); // get all widgets of a position
Example
-
in
App\Widgets\Block.php
:class Block implements WidgetInterface { public $view = 'home.widgets.side_html'; public function getData($args) { return ['html' => \App\Utility::getPageByAlias($args['alias'])]; } }
-
in
home.widgets.side_html.blade.php
:@if(!empty($html->content)) <section class="facebook-plugin"> {!! $html->content !!} </section> @endif
-
set widgets in in controller :
\Widget::set('side', 'block', ['alias' => 'side_top_html']); \Widget::set('side', 'facebook'); \Widget::set('side', 'block', ['alias' => 'side_mid_html']); \Widget::set('side', 'subscription'); \Widget::set('side', 'block', ['alias' => 'side_buttom_html']);
-
display widgets in view :
{!! \Widget::get('side') !!}