19 define(
'NMI_TYPE_CATALOG',
'NMI_TYPE_CATALOG');
20 define(
'NMI_TYPE_SERIES',
'NMI_TYPE_SERIES');
21 define(
'NMI_TYPE_CATEGORY',
'NMI_TYPE_CATEGORY');
22 define(
'NMI_TYPE_NEW_RELEASE',
'NMI_TYPE_NEW_RELEASE');
32 \HookRegistry::register(
'NavigationMenus::itemCustomTemplates', array($this,
'getMenuItemCustomEditTemplatesCallback'));
47 'title' => __(
'navigation.catalog'),
48 'description' => __(
'navigation.navigationMenus.catalog.description'),
51 'title' => __(
'navigation.navigationMenus.newRelease'),
52 'description' => __(
'navigation.navigationMenus.newRelease.description'),
57 $context = $request->getContext();
58 $contextId = $context ? $context->getId() : CONTEXT_ID_NONE;
61 $series = $seriesDao->getByContextId($contextId);
66 'title' => __(
'navigation.navigationMenus.series.generic'),
67 'description' => __(
'navigation.navigationMenus.series.description'),
71 $ompTypes = array_merge($ompTypes, $newArray);
76 $categories = $categoryDao->getByParentId(
null, $contextId);
78 if ($categories->count) {
81 'title' => __(
'navigation.navigationMenus.category.generic'),
82 'description' => __(
'navigation.navigationMenus.category.description'),
86 $ompTypes = array_merge($ompTypes, $newArray);
89 $types = array_merge($types, $ompTypes);
98 $templates =& $args[0];
102 $ompTemplates = array(
104 'template' =>
'controllers/grid/navigationMenus/categoriesNMIType.tpl',
107 'template' =>
'controllers/grid/navigationMenus/seriesNMIType.tpl',
111 $templates = array_merge($templates, $ompTemplates);
120 $navigationMenuItem =& $args[0];
123 $dispatcher = $request->getDispatcher();
128 $context = $request->getContext();
129 $contextId = $context ? $context->getId() : CONTEXT_ID_NONE;
133 $menuItemType = $navigationMenuItem->getType();
135 if ($navigationMenuItem->getIsDisplayed()) {
136 $menuItemType = $navigationMenuItem->getType();
138 $relatedObject =
null;
140 switch ($menuItemType) {
142 $seriesId = $navigationMenuItem->getPath();
145 $relatedObject = $seriesDao->getById($seriesId, $contextId);
149 $categoryId = $navigationMenuItem->getPath();
152 $relatedObject = $categoryDao->getById($categoryId, $contextId);
158 switch ($menuItemType) {
160 $navigationMenuItem->setUrl($dispatcher->url(
170 $navigationMenuItem->setUrl($dispatcher->url(
180 if ($relatedObject) {
181 $navigationMenuItem->setUrl($dispatcher->url(
187 $relatedObject->getPath()
190 $navigationMenuItem->setIsDisplayed(
false);
194 if ($relatedObject) {
195 $navigationMenuItem->setUrl($dispatcher->url(
201 $relatedObject->getPath()
204 $navigationMenuItem->setIsDisplayed(
false);