FEATURE: add template into page rendering
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
namespace App\Handlers\Contracts;
|
||||
|
||||
use App\Models\Content;
|
||||
use App\Models\Module;
|
||||
|
||||
interface TemplateHandler extends BaseModuleHandler
|
||||
@@ -8,4 +9,6 @@ interface TemplateHandler extends BaseModuleHandler
|
||||
public static function uninstall(Module $template);
|
||||
|
||||
public static function getPublicTemplatePaths();
|
||||
|
||||
public static function beforeRender(Content $content);
|
||||
}
|
||||
@@ -5,6 +5,8 @@ namespace App\Http\Controllers\Visitor;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests;
|
||||
use App\Models\Content;
|
||||
use App\Models\Module;
|
||||
use App\Models\Template;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class ContentPage extends Controller
|
||||
@@ -53,6 +55,11 @@ class ContentPage extends Controller
|
||||
// get handler
|
||||
$handler = new $page->module_handler;
|
||||
|
||||
$template = Module::where('is_template', true)->where('enabled', true)->first();
|
||||
|
||||
// do something template-specific
|
||||
$page = call_user_func([$template->handler, 'beforeRender'], $page);
|
||||
|
||||
// render page
|
||||
return $handler->render($page, '');
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
namespace Templates\Base\OnePage\Handlers;
|
||||
|
||||
use App\Handlers\Contracts\TemplateHandler;
|
||||
use App\Models\Content;
|
||||
use App\Models\Module;
|
||||
use App\Models\User;
|
||||
|
||||
@@ -31,4 +32,9 @@ abstract class OnePage implements TemplateHandler
|
||||
public static function uninstall(Module $template)
|
||||
{
|
||||
}
|
||||
|
||||
public static function beforeRender(Content $content)
|
||||
{
|
||||
return $content;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
namespace Templates\Jednostrankovka;
|
||||
|
||||
use App\Models\Content;
|
||||
use Templates\Base\OnePage\Handlers\OnePage;
|
||||
|
||||
class Handler extends OnePage
|
||||
@@ -18,4 +19,11 @@ class Handler extends OnePage
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public static function beforeRender(Content $content)
|
||||
{
|
||||
$content->content = str_replace('a', 'AAAA', $content->content);
|
||||
|
||||
return $content;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user