Переход на SEO_PRO со стандартного ЧПУ-формирователя

Просмотров: 1417Комментарии: 3

Особенности адресации

Часто возникает необходимость перехода на seo_pro на ранее запущенном сайте. При этом не желательно менять адресацию, во избежании просадок, как минимум на несколько месяцев.

В стандартном контроллере используется адресация без вложенностей и лишних слешей.

Канонические адреса имеют вид:

site.com/product
site.com/last_category

После установки же важно активировать в настройках "Товары без категории".

Однако для категорий такого нет, категории имеют вложенность, плюс в конце добавляется слеш.

Для исправления данной ситуации потребуется правка кода seo_pro

Убираем слеш

Находим в коде

$seo_url .= '/';

и закомментируем строку

//$seo_url .= '/';

почему комментируем, а не удаляем?

есть вероятность попытки привязки модов

Убираем вложенность

case 'path':
    $categories = explode('_', $value);
    foreach ($categories as $category) {
        $queries[] = 'category_id=' . $category;
    }
    unset($data[$key]);
    break;

приводим к виду

case 'path':
    $categories = explode('_', $value);
    //foreach ($categories as $category) {
        $queries[] = 'category_id=' . end($categories);
    //}
    unset($data[$key]);
    break;

Сохраняем хлебные крошки

} elseif (isset($this->request->get['path'])) {
    $this->request->get['route'] = 'product/category';
}

добавляем просчет пути

} elseif (isset($this->request->get['path'])) {
    $this->request->get['route'] = 'product/category';                
        $category = explode('_', $this->request->get['path']);
        $category_id = (int)end($category);
        $path = $this->getPathByCategory($category_id);
        if ($path) $this->request->get['path'] = $path;                
}

Комментариев: 3 RSS

Оставьте комментарий!
  • Без регистрации
  • Вход/Регистрация

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

  • 1bdv00707-05-2019 20:09Учитываю...

    Это я так понимаю на 2.* версию, а под 3-ю?

    • 2Аноним06-11-2019 19:41Учитываю...

      bdv007, там так же почти

  • 3Дмитрий28-10-2019 14:38Учитываю...

    ocstore 2.3

    Была ошибка Bad Request - длинные имена, сейчас норм, разжевано и по шагам.

    Искал на другом форуме - https://****/short-seo-url, непонятно было

    Ваш способ помог.

    Спасибо