removes blocks with module's onEventMergeConfig
This commit is contained in:
parent
a080748677
commit
00b5ea76ff
73
Module.php
73
Module.php
|
@ -6,6 +6,8 @@ use Omeka\Module\AbstractModule;
|
|||
use Laminas\EventManager\Event;
|
||||
use Laminas\View\Renderer\PhpRenderer;
|
||||
use Laminas\EventManager\SharedEventManagerInterface;
|
||||
use Laminas\ModuleManager\ModuleManager;
|
||||
use Laminas\ModuleManager\ModuleEvent;
|
||||
use Laminas\Mvc\MvcEvent;
|
||||
use Laminas\Mvc\Controller\AbstractController;
|
||||
use Omeka\Mvc\Controller\Plugin\Messenger;
|
||||
|
@ -27,29 +29,60 @@ class Module extends AbstractModule
|
|||
'exhibit' => 'Exhibitions',
|
||||
];
|
||||
|
||||
/*
|
||||
public function attachListeners(SharedEventManagerInterface $sharedEventManager): void
|
||||
public function init(ModuleManager $moduleManager): void
|
||||
{
|
||||
$sharedEventManager->attach(
|
||||
\Omeka\Api\Adapter\ItemAdapter::class,
|
||||
'api.create.post',
|
||||
[$this, 'afterSaveItem'],
|
||||
100
|
||||
);
|
||||
$sharedEventManager->attach(
|
||||
\Omeka\Api\Adapter\ItemAdapter::class,
|
||||
'api.update.post',
|
||||
[$this, 'afterSaveItem'],
|
||||
100
|
||||
);
|
||||
$sharedEventManager->attach(
|
||||
\Omeka\Api\Adapter\ItemAdapter::class,
|
||||
'api.delete.post',
|
||||
[$this, 'afterDeleteItem'],
|
||||
100
|
||||
);
|
||||
$moduleManager->getEventManager()->attach(ModuleEvent::EVENT_MERGE_CONFIG,
|
||||
[$this, 'onEventMergeConfig']);
|
||||
}
|
||||
|
||||
public function onEventMergeConfig(ModuleEvent $event): void
|
||||
{
|
||||
// Check if the main site is skipped, else the standard urls apply.
|
||||
#if (!SLUG_MAIN_SITE) {
|
||||
# return;
|
||||
#}
|
||||
|
||||
/** @var \Laminas\ModuleManager\Listener\ConfigListener $configListener */
|
||||
$configListener = $event->getParam('configListener');
|
||||
// At this point, the config is read only, so it is copied and replaced.
|
||||
$config = $configListener->getMergedConfig(false);
|
||||
|
||||
/*
|
||||
if (isset($config['view_helpers']['invokables']['Omeka\Form\Element\HtmlTextarea'])) {
|
||||
unset($config['view_helpers']['invokables']['Omeka\Form\Element\HtmlTextarea']);
|
||||
}
|
||||
*/
|
||||
/*
|
||||
if (isset($config['block_layouts']['factories']['html'])) {
|
||||
unset($config['block_layouts']['factories']['html']);
|
||||
}
|
||||
if (isset($config['block_layouts']['sorted_names']['html'])) {
|
||||
unset($config['block_layouts']['sorted_names']['html']);
|
||||
}
|
||||
*/
|
||||
if (isset($config['block_layouts']['invokables']['tableOfContents'])) {
|
||||
unset($config['block_layouts']['invokables']['tableOfContents']);
|
||||
}
|
||||
if (isset($config['block_layouts']['invokables']['browsePreview'])) {
|
||||
unset($config['block_layouts']['invokables']['browsePreview']);
|
||||
}
|
||||
// Manage the routes for the main site when "s/site-slug/" is skipped.
|
||||
// So copy routes from "site", without starting "/".
|
||||
/*
|
||||
foreach ($config['router']['routes']['site']['child_routes'] as $routeName => $options) {
|
||||
// Skip some routes for pages that are set directly in the config.
|
||||
if (isset($config['router']['routes']['top']['child_routes'][$routeName])) {
|
||||
continue;
|
||||
}
|
||||
$config['router']['routes']['top']['child_routes'][$routeName] = $options;
|
||||
$config['router']['routes']['top']['child_routes'][$routeName]['options']['route'] =
|
||||
ltrim($config['router']['routes']['top']['child_routes'][$routeName]['options']['route'], '/');
|
||||
}
|
||||
*/
|
||||
$configListener->setMergedConfig($config);
|
||||
}
|
||||
|
||||
|
||||
public function getConfig()
|
||||
{
|
||||
return include __DIR__ . '/config/module.config.php';
|
||||
|
|
Loading…
Reference in New Issue