Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как сократить URL и убрать вложенность?


Recommended Posts

День добрый уважаемое сообщество.

Установил ocstore 2.3.

Url товара настроил через админку и он имеет такой вид : домен/товар.html 

Url имеет сейчас такой вид  домен/категория/подкатегория1/подкатегория2

Есть необходимость сократить url и поставть в конце ".html" , чтоб он выглядел следующим образом :

1) домен/категория.html

2) домен/подкатегория1.html

3) домен/подкатегория2.html

Хлебные крошки при этом должны иметь полный вид, без сокращений.

Куда копать?

Помогите решить вопрос.

Заранее всем спасибо.

 

Змінено користувачем ygk
Надіслати
Поділитися на інших сайтах


22 hours ago, ygk said:

День добрый уважаемое сообщество.

Установил ocstore 2.3.

Url товара настроил через админку и он имеет такой вид : домен/товар.html 

Url имеет сейчас такой вид  домен/категория/подкатегория1/подкатегория2

Есть необходимость сократить url и поставть в конце ".html" , чтоб он выглядел следующим образом :

1) домен/категория.html

2) домен/подкатегория1.html

3) домен/подкатегория2.html

Хлебные крошки при этом должны иметь полный вид, без сокращений.

Куда копать?

Помогите решить вопрос.

Заранее всем спасибо.

 

 

 

в настройках магазина, вкладка сервер, окончание чпу добавить .html

А дальше вот такой способ есть, нашел в интернете и на своем сайте проверил:

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

Редактируем seo_pro

Открываем файл “catalog/controller/common/seo_pro.php”, в функции rewrite() находим код:

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

 

Заменяем его на:

Код:
case 'path':
    $categories = explode('_', $value);
    $queries[] = 'category_id=' . end($categories);
    unset($data[$key]);
    break;

 

Открываем файл “catalog/controller/common/seo_url.php”, в функции rewrite() находим код:

Код:
} elseif ($key == 'path') {
    $categories = explode('_', $value);
  
    foreach ($categories as $category) {
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'");

        if ($query->num_rows) {
            $url .= '/' . $query->row['keyword'];
        }                           
    }
  
    unset($data[$key]);
}

 

По аналогии с seo_pro заменяем код на:

Код:
} elseif ($key == 'path') {
    $categories = explode('_', $value);
  
    $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)end($categories) . "'");
    if ($query->num_rows) {
        $url .= '/' . $query->row['keyword'];
    }
  
    unset($data[$key]);
}

 

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

ae071 спасибо за подсказку. Сделал. Работает, только в хлебных крошках не показывает полный путь к подкатегории.

Есть мысль как показывать полный путь в хлебных крошках?

 

Надіслати
Поділитися на інших сайтах


Конечно!!!!
не только мысль, но есть и решение, а это как раз и убило ваши ХК

В 16.03.2017 в 14:57, ae071 сказал:

А дальше вот такой способ есть, нашел в интернете и на своем сайте проверил:

Потому что такой вопрос нужно решать в комплексе!

Надіслати
Поділитися на інших сайтах

  • 8 months later...
On 27.03.2017 at 11:43 PM, chukcha said:

Конечно!!!!
не только мысль, но есть и решение, а это как раз и убило ваши ХК

Поделитесь решением, пожалуйста)) Для опенкарт 2.1

Змінено користувачем ivan13i
Надіслати
Поділитися на інших сайтах


  • 4 months later...
  • 3 months later...

Ребят есть данная проблема от фильтра получаеться длинный адрес как с этим бороться?

shumoizolyatsiya/shumo-teploizolyatsionnye/oblast-primenenija/peregorodka-motornogo-oseka/tolschina/4-mm/

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.