Site-o-Tech Posted April 17, 2014 Share Posted April 17, 2014 Создал каталог на стандартном шаблоне, получилась очень громоздкая структура. Вопрос в том, есть ли способ не отображать подкатегории третьего уровня в главном меню? Прилагаю скрин одной из категорий структуры: Link to comment Share on other sites More sharing options...
Kerm Posted April 18, 2014 Share Posted April 18, 2014 В настройка модуля категорий.. Link to comment Share on other sites More sharing options...
Виталя Posted May 9, 2014 Share Posted May 9, 2014 (edited) Человек спрашивал про главное горизонтальное меню,а вы отвечаете про блок категорий.Это разные вещи.Если в настройках этого блока максимальную глубину установить на скажем "2"-в главном горизонтальном меню ничего не изменится.Мне тоже очень хочется узнать ответ на вопрос Site-o-Tech. Может кто знает? Я для себя пока нашёл вот такое решение-http://prestashop.com/forums/topic/329397-как-в-главном-горизонтальном-меню-ограничить-в/ .Может пригодится. Edited May 11, 2014 by Виталя (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted May 12, 2014 Share Posted May 12, 2014 Это все делается элементарно, подучите PHP... В файле blocktopmenu внутри функции getCategory, вывод подуровней меню поместить в правило: if($category->level_depth != 3) {/if} Link to comment Share on other sites More sharing options...
aphilipp Posted February 1, 2017 Share Posted February 1, 2017 Kerm, мы оценили Вашу компетентность! )) Однако, кроме знания инструментального средства ещё требуется и понимание кода самого продукта. Открыл для 1.6.1.11 файл /modules/blocktopmenu/blocktopmenu.php Нашёл там только определение функции: protected function getCMSCategories($recursive = false, $parent = 1, $id_lang = false, $id_shop = false) Правда, какую часть кода заключить в предложенный Вами оператор: if($category->level_depth != 3) . . . {/if} так и не понял. Подскажите, плиз! Кроме того, не лучше ли условие сделать такое: if($category->level_depth < 3) ? Ещё один человек предлагал в этом же файле в определении функции protected function getCMSMenuItems($parent, $depth = 1, $id_lang = false) в самом начале (строка 649 примерно) поменять код if ($depth > 3) return; на if ($depth > 0) return; или if ($depth > 1) return; смотря какой уровень вложенности нужно ограничить. Будет ли этот вариант работать? У меня что-то он не заработал... Link to comment Share on other sites More sharing options...
Kerm Posted February 8, 2017 Share Posted February 8, 2017 Kerm, мы оценили Вашу компетентность! )) Однако, кроме знания инструментального средства ещё требуется и понимание кода самого продукта. Открыл для 1.6.1.11 файл /modules/blocktopmenu/blocktopmenu.php Нашёл там только определение функции: protected function getCMSCategories($recursive = false, $parent = 1, $id_lang = false, $id_shop = false) Правда, какую часть кода заключить в предложенный Вами оператор: if($category->level_depth != 3) . . . {/if} так и не понял. Подскажите, плиз! Кроме того, не лучше ли условие сделать такое: if($category->level_depth < 3) ? Ещё один человек предлагал в этом же файле в определении функции protected function getCMSMenuItems($parent, $depth = 1, $id_lang = false) в самом начале (строка 649 примерно) поменять код if ($depth > 3) return; на if ($depth > 0) return; или if ($depth > 1) return; смотря какой уровень вложенности нужно ограничить. Будет ли этот вариант работать? У меня что-то он не заработал... Начну с того что если в названии функции есть аббревиатура CMS, эта функция относится к статическим страницам, которые можно создать в админке сайта и затем вывести ссылки на них в верхнем горизонтальном меню через эти функции. Функции отвечающие за вывод категорий называются по другому. Link to comment Share on other sites More sharing options...
Kerm Posted February 8, 2017 Share Posted February 8, 2017 Вам нужна функция generateCategoriesMenu в файле blocktopmenu.php, я взял файл от версии престашопа 1.6.1.9, код в файлах других версий может сильно отличатся. В этой версии файла нужно уже использовать условие: if ($category['level_depth'] > 3) { // Код отвечающий за вывод пунктов меню } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now