Автор Тема: Редактирование ссылок CMS  (Прочитано 152 раз)

13 Марта 2016, 13:40:24
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте помогите разобраться с ссылками CMS. Необходимо сделать следующее


Если нажать на "Главное", то перейдет на страницу .ru/content/category/1-home
1. Как сделать что бы при наведении на эту кнопку не было возможности перейти на эту страницу? Т.е. что бы надпись "Главная" была не активна, а только выползало внутреннее меню.

2. Как удалить страницу .ru/content/category/1-home

Спасибо.
13 Марта 2016, 14:09:45
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Удалите категорию Home в админке в Настройки > Страницы.
В модуле Главное горизонтальное меню удалите ссылку на  категорию cms Home.
13 Марта 2016, 14:36:20
Ответ #2
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Категории
Удалите категорию Home в админке в Настройки > Страницы.

Категории Home там нет, это скорее всего корень.

В модуле Главное горизонтальное меню удалите ссылку на  категорию cms Home.

Там нет возможности удалить ссылку.
13 Марта 2016, 15:07:08
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 32991
  • Репутация: +26759/-0
    • Просмотр профиля
Home категорию нельзя удалить из движка.
Можно только в настройках модуля Главное горизонтальное меню не показывать эту категорию.

Если у вас нет такой категории в настройках модуля Главное горизонтальное меню, значит в вашей теме свой модуль для формирования меню.
Читайте документацию по вашей теме, в ней должно быть написано какие модули включены и где они используются в теме.
13 Марта 2016, 16:08:25
Ответ #4
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если у вас нет такой категории в настройках модуля Главное горизонтальное меню, значит в вашей теме свой модуль для формирования меню.
Читайте документацию по вашей теме, в ней должно быть написано какие модули включены и где они используются в теме.

Вы не так поняли, у меня в настройках модуля нет Возможности убрать ссылку на страницу категории. Мне необходимо что бы при наведении на пункт меню выпадал только список, а при нажатии не было никаких переходов. Какой модуль за это отвечает я знаю.
13 Марта 2016, 18:28:32
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
14 Марта 2016, 04:00:22
Ответ #6
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я нашел, но я не знаю как этим воспользоваться, помогите пожалуйста.

Цитировать
“Advanced Top Menu” на оф. сайте в demo такой функции не нашла,  есть ли там такая функция?
С помощью этого модуля можно составить меню. Сделать группу ссылок, первый пункт это название группы, в эту группу внести ваши ссылки. Но все ссылки нужно будет создавать вручную.
Цитировать
В файле blocktopmenu.php измените метод getCategory
Переопределить этот метод можно на примере getCMSMenuItems (в том же классе Blocktopmenu).
14 Марта 2016, 10:41:11
Ответ #7
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22094
  • Репутация: +17108/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Если у вас модуль Advanced Top Menu, то в нем исправляйте. В настройках можно менять ссылки.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
14 Марта 2016, 12:56:39
Ответ #8
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если у вас модуль Advanced Top Menu, то в нем исправляйте. В настройках можно менять ссылки.
К сожалению не такой модуль. В админке нет возможности поменять такие настройки.
15 Марта 2016, 09:52:53
Ответ #9
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вариантов, нет как это исправить? модуль Advanced Top Menu - стоит дорого, а тот что есть в сети к движку 1.6 не подходит.
15 Марта 2016, 11:24:26
Ответ #10
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если у вас стандарный модуль горизонтального меню, то на форуме есть темы как его менять.
Например,
http://prestashop-forum.ru/index.php/topic,1809.msg9100.html#msg9100
http://prestashop-forum.ru/index.php/topic,3347.msg18435.html#msg18435
15 Марта 2016, 11:39:13
Ответ #11
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
мне надо в коде удалить ссылку на категорию?
15 Марта 2016, 11:41:44
Ответ #12
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да, только для первого уровня.
level_depth == 1
15 Марта 2016, 12:18:55
Ответ #13
  • Пользователь
  • **
  • Сообщений: 88
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Где-то тут надо исправить?
private function getCategory($id_category, $depth = 0, $id_lang = false, $id_shop = false) {
$id_lang = $id_lang ? (int)$id_lang : (int)Context::getContext()->language->id;
$category = new Category((int)$id_category, (int)$id_lang);

if ($category->level_depth > 1)
$category_link = $category->getLink();
else
$category_link = $this->context->link->getPageLink('index');

if (is_null($category->id))
return;

$children = Category::getChildren((int)$id_category, (int)$id_lang, true, (int)$id_shop);
15 Марта 2016, 13:06:23
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В функции
protected function generateCategoriesMenu($categories, $is_children = 0)нужно убрать тег A
//$html .= '<a href="'.$link.'" title="'.$category['name'].'">'.$category['name'].'</a>';
$html .= $category['name'];
Стили поменять для нового вида меню.