Автор Тема: При включение ЧПУ в адресной строке не пишутся подкатегории  (Прочитано 85 раз)

12 Апрель 2018, 13:01:31
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
День добрый!

Помогите решить такую задачу:
При включение ЧПУ в адресной строке не пишутся подкатегории
есть
http://test.ru/15-displei/ а должно быть так:
http://test.ru/3-zapchasti/4-zapchasti-dlja-ap......ple/15-displei/
Решение необходимо как для страниц категорий/подкатегорий так и страниц товаров.

А если бы и фильтры были без # всё было бы идеально.

Возможно есть уже готовые SEO модули?
Может ли помочь модуль Advanced SEO Friendly URLs

P.S. 1.6
12 Апрель 2018, 17:29:39
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 105628
  • Репутация: +39551/-0
    • Просмотр профиля
    • Webstudio UwK
Для страницы товаров в Prestashop 1.6
Панель управления > Настройки > SEO и URLs
Схема URL
Путь к товарам: {categories:/}{id}-{rewrite}{-:ean13}.html
Cоздание интернет сайтов Webstudio UwK
13 Апрель 2018, 08:14:13
Ответ #2
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо!
Есть ли варианты для для страниц категорий/подкатегорий?

Может есть вариант под Модуль Advanced Search 4 ???
13 Апрель 2018, 16:51:41
Ответ #3
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем меня устраивает Advanced Search 4
Однако как сделать, чтобы добавлялись подкатегории

Например имеем
http://test.ru/15-displei/а должно быть так:
http://test.ru/3-zapchasti/4-zapchasti-dlja-ap......ple/15-displei/
Эта возможность есть в модуле Advanced SEO Friendly URLs

Как можно подружить эти два модуля?
Возможно есть другие варианты?
13 Апрель 2018, 19:47:49
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 14655
  • Репутация: +14586/-5
  • Сообщество PrestaShop
    • Просмотр профиля
А они разве не совместимы? В описании к модулям нет ничего про несовметимость.
Advanced Search 4 преобразует фильтры, Advanced SEO Friendly URLs все остальной.
16 Апрель 2018, 09:04:10
Ответ #5
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль Advanced SEO Friendly URLs
позволят в настройках менять:

путь к продуктам
ADVANCED URLS TO PRODUCTS

путь к категориям
ADVANCED URLS TO CATEGORIES

маршрут к производителю
ADVANCED URLS TO MANUFACTURERS

маршрут к поставщику
ADVANCED URLS TO SUPPLIERS

Путь к CMS
ADVANCED URLS TO CMS & CMS CATEGORY

Подскажите как настроить маршрут к фильтрам?

В Настройки -> SEO и URLs для:
Маршрут к категории, имеющей атрибут ""selected_filter" для модуля "Блок навигационных фильтров"

указал: {categories:/}{rewrite}/{/:selected_filters}

Не помогло :(

В этом случае урлы получаются следующего вида:
https://test.ru/5-hand-bag/s-3/cvet-zheltyj/categories_2-sumka_na_ruku
id-категорий не убираются.
подкатегории для 5-hand-bag не добавляются...
16 Апрель 2018, 11:34:25
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 14655
  • Репутация: +14586/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Значит модули не совместимы. Нет смысла ставить два модуля. Оставлять нужео какой-то и дополнять нужные функции.
Цифры в url можно оставить, они не мешают.
16 Апрель 2018, 12:23:18
Ответ #7
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Значит модули не совместимы. Нет смысла ставить два модуля. Оставлять нужео какой-то и дополнять нужные функции.
Цифры в url можно оставить, они не мешают.

Спасибо за ответ.

Подскажите как в модуле Advanced Search 4
сделать вывод подкатегорий в адресной строке
http://test.ru/3-zapchasti/4-zapchasti-dlja-ap......ple/15-displei/
сейчас отображается только последняя категория.
16 Апрель 2018, 13:08:21
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 14655
  • Репутация: +14586/-5
  • Сообщество PrestaShop
    • Просмотр профиля
По моему это нужно делать не в модуле Advanced Search 4. В диспечере движка нужно менять путь.
В движке полный путь можно настроить только у страницы товары. Для категории нужно изменить также как и для товара.
16 Апрель 2018, 15:58:24
Ответ #9
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нашёл возможность добавления в адресной строке подкатегорий для 1.6.

This question was answered on the PrestaShop forum. You can find it here http://www.prestashop.com/forums/topic/220017-category-subcategory-url/

The solution - add this changes to the fallowing classes

CLASSES/Dispatcher.php

'rule' => '{categories:/}{id}-{rewrite}/',
'categories' => array('regexp' => '[/_a-zA-Z0-9-\pL]*'),
CLASSES/Link.php

CLASSES/Link.php
$cats = array();   
foreach ($category->getParentsCategories() as $cat)   
if (!in_array($cat['id_category'], array(1, 2, $category->id)))//remove root, home and current category from the URL   
$cats[] = $cat['link_rewrite'];   
$params['categories'] = implode('/', array_reverse($cats));

Проверено всё работает.
С модулем blocklayered также всё работает.
Есть ли возможность сделать подобное для Advanced Search 4 ???
16 Апрель 2018, 16:19:43
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 1089
  • Репутация: +5/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В контроллере модуля /controllers/front/advancedsearch4.php правила для seo_url можно изменить.
16 Апрель 2018, 16:32:46
Ответ #11
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В контроллере модуля /controllers/front/advancedsearch4.php правила для seo_url можно изменить.

Просмотрел /controllers/front/advancedsearch4.php не очевидно как можно правила для seo_url изменить.

Любая подсказка! Буду примного благодарен!!!
17 Апрель 2018, 10:15:53
Ответ #12
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Решил отказаться от advancedsearch4 в пользу blocklayered.

Оказалось, что под blocklayered можно решить проблему с выводом подкатегорий в адресной строке.

С advancedsearch4 этого не получилось.

Да, ещё один момент остался, как убрать id в подкатегориях?
17 Апрель 2018, 11:33:32
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 14655
  • Репутация: +14586/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Если отказались от AS4, тогда можно оставить Advanced SEO Friendly URLs, он же удаляет id из url.
17 Апрель 2018, 14:14:58
Ответ #14
  • Старожил
  • ****
  • Сообщений: 367
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кому интересно проблема решена.

Связку blocklayered + Advanced SEO Friendly URLs
вам в помощь.