Сегодня снова столкнулся с ошибкой у знакомого на сайте InstantCMS с меню. После установки шаблона, меню скособочило, и половина пунктов заглючили. Вспоминая как я почти месяц мучился пытаясь исправить проблему с меню, решил написать пути решения этой проблемы.
Итак первый путь, я его назову своим, так как решение проблемы с меню InstantCMS нашел сам. Заходим в меню, сносим все пункты, оставляем 1 пункт обязательно в mainmenu.
Затем создаем меню по новой, при этом указываем при создании не Главное меню, а дополнительное меню1. Создали, заходим в настройки модуля меню и там выбираем показывать не Главное меню, а именно дополнительное меню. Все, проблем не будет, если не двигать пункты стрелками.
Второй способ взят с официального сайта InstantCMS. Его назову методом Fuze так как он его опубликовал.
Чтобы починить:
идем в /admin/applets/repairnested.php
после строк
Код PHP:
$tables[4]['name'] = 'cms_uc_cats';
$tables[4]['title'] = 'Дерево разделов каталога';
$tables[4]['differ'] = '';
вставляем
Код PHP:
$tables[5]['name'] = 'cms_menu';
$tables[5]['title'] = 'Дерево меню';
$tables[5]['differ'] = '';
Далее идем в пхпмайадмин в вашу базу, в таблицу cms_menu (префикс может отличаться) и ищем запись с id = 1 и полем title = '-- Главная страница --'.
Редактируем поле title этой строки таблицы, вместо "-- Главная страница --" пишем "-- Корневая страница --" - не суть важно, главное, чтобы присутствовало слово "Корневая".
Код PHP:
UPDATE `cms_menu` SET `title` = '-- Корневая страница --' WHERE `cms_menu`.`id` =1;
После этой операции идем в админку -> настройки -> проверка деревьев
Найденные ошибки с меню исправляем (вложенность пропадет!!!), и восстанавливаем вложенность меню заново вручную.
После этих операций ошибок с меню возникать больше не должно и двигать пункты можно не боясь.