Skip to content

Latest commit

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Widgetify

Laravel widget package for Laravel >= 5.1

Installation

composer require morilog/widgetify

Register in Laravel

  • Add Morilog\Widgetify\WidgetifyServiceProvider to config/app.php providers array

  • If you need to Facade for rendering widgets, add bellow in config/app.php aliases array :

'Widgetify' => Morilog\Widgetify\Facades\Widgetify::class
  • For publish Widgetify config file, run this command:
php artisan vendor:publish --provider="Morilog\Widgetify\WidgetifyServiceProvider"

Usage

Create new widget

For creating new widget you must create a class that extended Morilog\Widgetify\Widget and implement handle() method.

<?phpnamespaceApp\MyWidgets;
useMorilog\Widgetify\Widget;
class SimpleWidget extends Widget
{
publicfunctionhandle()
{
$latestPosts = Post::take(10)->get();
returnview('path.to.view.file', compact('latestPosts'));
}
}

Registering Widget

  • Add your widget to widgets array in config/widgetify.php file:
'widgets' => [
'simple_widget' => App\MyWidgets\SimpleWidget::class
]

Rendering Widgets

With blade @widgetify directive:

// views/sidebar.blade.php
<div class="col-sm-3">
@widgetify('simple_widget')
</div>

OR with configs:

// views/sidebar.blade.php
<div class="col-sm-3">
@widgetify('simple_widget', ['key' => 'value', 'key2' => 'value'])
</div>

OR with Widgetify Facade:

// views/sidebar.blade.php
<div class="col-sm-3">
{!! Widgetify::render('simple_widgets') !!}
</div>

Using cache

// views/default.blade.php
<div class="col-sm-4">
{!! Widgetify::remember('my_widget', 15, [CONFIGS]); !!}
</div>
<div class="col-sm-4">
@cached_widgetify('my_widget', 15, [CONFIGS]);
</div>

About

Powerful Widgets System For Laravel Farmework

Topics

Resources

Stars

12 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages