FEATURE: add functionality for rendering widgets via shortcode [widget]
This commit is contained in:
@@ -3,9 +3,11 @@
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Models\Settings;
|
||||
use App\Shortcodes\Widget;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Webwizo\Shortcodes\Facades\Shortcode;
|
||||
|
||||
class GlobalViewDataProvider extends ServiceProvider
|
||||
{
|
||||
@@ -24,6 +26,8 @@ class GlobalViewDataProvider extends ServiceProvider
|
||||
view()->share('currentUrl', \Request::url());
|
||||
|
||||
$this->extendBlade();
|
||||
|
||||
Shortcode::register('widget', Widget::class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -129,9 +133,11 @@ class GlobalViewDataProvider extends ServiceProvider
|
||||
<?php
|
||||
if ($2 instanceof \App\Models\Widget) {
|
||||
$handler = $2->widget_type_handler;
|
||||
$2->settings = json_decode($2->settings);
|
||||
|
||||
$presenter = call_user_func([$handler, "getPresenter"]);
|
||||
|
||||
echo call_user_func([$presenter, "render"], json_decode($2->settings));
|
||||
echo call_user_func([$presenter, "render"], $2);
|
||||
}
|
||||
?>
|
||||
';
|
||||
|
||||
Reference in New Issue
Block a user