Skip to content

Commit

Permalink
Create modules folder on parent page visit
Browse files Browse the repository at this point in the history
  • Loading branch information
medienbaecker committed Dec 18, 2019
1 parent 6172ae5 commit 8ee0c3a
Showing 1 changed file with 28 additions and 30 deletions.
58 changes: 28 additions & 30 deletions index.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,31 +34,6 @@ public function url($options = null): string {
}
$templates["modules"] = __DIR__ . '/module.php';

// Create the modules container if it doesn't exist
function createModulesContainer($page) {
if(!$page->find('modules') AND $page->intendedTemplate() != 'modules') {
$modules = false;
foreach($page->blueprint()->sections() as $section) {
if($section->type() == 'modules') $modules = true;
}
if($modules) {
try {
$modulesPage = $page->createChild([
'content' => ['title' => 'Modules'],
'slug' => 'modules',
'template' => 'modules'
]);
}
catch (Exception $error) {
throw new Exception($error);
}
if($modulesPage) {
$modulesPage->publish();
}
}
}
}

Kirby::plugin('medienbaecker/modules', [
'options' => [
'default' => 'module.text'
Expand All @@ -82,12 +57,35 @@ function createModulesContainer($page) {
])
],
'hooks' => [
'page.create:after' => function ($page) {
createModulesContainer($page);
'route:after' => function ($route, $path, $method) {
$uid = explode('/', $path);
$uid = end($uid);
$uid = str_replace('+', '/', $uid);
$page = kirby()->page($uid);
if ($page) {
if(!$page->find('modules') AND $page->intendedTemplate() != 'modules') {
$modules = false;
foreach($page->blueprint()->sections() as $section) {
if($section->type() == 'modules') $modules = true;
}
if($modules) {
try {
$modulesPage = $page->createChild([
'content' => ['title' => 'Modules'],
'slug' => 'modules',
'template' => 'modules'
]);
}
catch (Exception $error) {
throw new Exception($error);
}
if($modulesPage) {
$modulesPage->publish();
}
}
}
}
},
'page.update:before' => function ($page) {
createModulesContainer($page);
}
],
'templates' => $templates,
'pageModels' => $models,
Expand Down

0 comments on commit 8ee0c3a

Please sign in to comment.