artbataev

Убрать вложенность URL для категорий и товаров

Рекомендуемые сообщения

artbataev    0

Есть 5 магазинов, один на ocStore, 4 на opencart (и еще несколько будет).

 

Нужно убрать вложенность SEO Url

 

Стандартный opencart делает так:

категория site.ru/cat

подкатегория site.ru/cat/subcat, site.ru/subcat

товар site.ru/cat/subcat/prod, site.ru/cat/prod, site.ru/subcat/prod, site.ru/prod

- url зависит от пути по сайту.

 

Нужно сделать, чтобы были отовсюду ссылки на 

подкатегория site.ru/subcat

товар site.ru/prod

 

И при этом правильно отображались breadcrumbs + работал модуль категорий.

Для подкатегории хлебные крошки - Главная -> Родительская -> Подкатегория

Для товара - максимальный по вложенности путь.

 

Желательно, но не обязательно, добавить со всех других видов url 301 редирект на нужный.

 

На сайтах стоит Seo Pack Pro, если это важно.

 

Работы готов оплатить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
phpguy    2

А этот Seo Pack Pro - он не участвует в переименовании урлов? Вроде у него такая опция есть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
artbataev    0

А этот Seo Pack Pro - он не участвует в переименовании урлов? Вроде у него такая опция есть

Нет. Он добавляет seo keywords и мета-тег canonical, но с самими url ничего не делает.

 

По факту, уже часть сделал:

1) Нужно убрать просто из формирования ссылок все вложенности (это делается легко)

2) Нужно в подкатегории добавить статические хлебные крошки (с родительской категорией) - нашел решение:

в файле catalog/controller/product/category.php после   $parts = explode('_', (string)$this->request->get['path']);  добавить        

      /* add breadcrumbs for all categories! */
                    if (count($parts) <= 1){
                         $current_category = $this->model_catalog_category->getCategory((string)$this->request->get['path']);
                         $parts[] = $current_category['parent_id'];
                        
                         $parent = $current_category['parent_id'];
                         while ($parent != '0'){
                              $parent = $this->model_catalog_category->getCategory($parent);
                              $parent = $parent['parent_id'];
                              $parts[] = $parent;
                         }
                         $parts = array_reverse($parts);
                    }
               /* add breadcrumbs for all categories! */ 

3) для карточки товара нашел временное решение на opencart.com. Берет первую попавшуюся категорию, к которой принадлежит товар, и через нее пишет путь к главной. 

Нужно доработать это решение - взять все категории и выбрать ту, у которой максимальная вложенность.

4) Нужно доработать модуль категорий, чтобы он выделял категории по максимальному пути.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
artbataev    0

За тем лишь исключением, что здесь товар находится только в 1 категории.

 

У меня, например:

товар находится в категории "Коньки"

и в категории "Раздвижные коньки" (подкатегория Коньков)

и в категории "Подарок ребенку"

К нему путь может быть Коньки -> Товар

Может быть Коньки -> Раздвижные коньки -> Товар

Может быть Подарок ребенку -> Коньки.

 

Правильный путь в breadcrumbs - Коньки -> Раздвижные коньки -> Товар (самый длинный путь).

 

В opencart, в отличие от ocstore, "главной категории" товара нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
puno    35

Сделаю для opencart обращайтесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
meduzov    1

Есть уже готовое решение? Очень интересует этот вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу