FEATURE #2350 @2h: add pipeline for displaying content

This commit is contained in:
Michal Kváček
2017-03-08 23:38:37 +01:00
parent 44fb6b1be5
commit 450000fadd
10 changed files with 222 additions and 11 deletions
+17
View File
@@ -13,6 +13,9 @@ use App\CMS\Handlers\Search\Content;
use App\CMS\Handlers\Search\Files;
use App\CMS\Handlers\Search\Presenters\AdminContent as AdminContentPresenter;
use App\CMS\Handlers\Search\Presenters\AdminFiles;
use App\CMS\Pipeline\DisplayPipeline;
use App\CMS\Pipeline\Process\AddViewedToPage;
use App\CMS\Pipeline\Process\CompileShortcodes;
use App\CMS\Repositories\Content\Content as ContentRepository;
use App\CMS\Repositories\Module as ModuleRepository;
use App\CMS\Repositories\Templates\Template as TemplateRepository;
@@ -41,6 +44,7 @@ class AppServiceProvider extends ServiceProvider
$this->registerWidgets();
$this->registerSettings();
$this->registerSearch();
$this->registerDisplayPipeline();
}
}
@@ -64,6 +68,11 @@ class AppServiceProvider extends ServiceProvider
return new WidgetRegistrator($app);
});
// create singleton for display pipeline - pipeline used for displaying visitor pages
$this->app->singleton('displayPipeline', function ($app) {
return new DisplayPipeline();
});
// create registrator for template directories
$this->app->singleton('registerTemplateDir', function ($app) {
return new TemplateRegistrator($app);
@@ -115,4 +124,12 @@ class AppServiceProvider extends ServiceProvider
$registrator->register(new Content(), new AdminContentPresenter(), SearchEngineRegistrator::ADMIN);
$registrator->register(new Files(), new AdminFiles(), SearchEngineRegistrator::ADMIN);
}
private function registerDisplayPipeline()
{
$registrator = $this->app->make('displayPipeline');
$registrator->add(AddViewedToPage::class);
$registrator->add(CompileShortcodes::class);
}
}