Перейти к содержанию
ygk

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

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

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

Установил 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]);
}

 

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


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

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

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

 

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


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

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

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

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
On 27.03.2017 at 11:43 PM, chukcha said:

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

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

Изменено пользователем ivan13i

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


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

Зачем делиться? Оказываю такую услугу.

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


Ссылка на сообщение
Поделиться на другие сайты
В 06.12.2017 в 17:54, chukcha сказал:

Зачем делиться? Оказываю такую услугу.

Здравствуйте!

А что это за модуль? Дайте, пожалуйста, ссылку

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


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

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

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

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.