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, '');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user