Jump to content
Sign in to follow this  
ygk

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

Recommended Posts

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

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

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

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

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

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

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

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

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

Куда копать?

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

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

 

Edited by ygk

Share this post


Link to post
Share on other sites

есть у меня модуль для сокращения.

Share this post


Link to post
Share on other sites

Дайте ссылку в личку.

 

Share this post


Link to post
Share on other sites
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]);
}

 

Share this post


Link to post
Share on other sites

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

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

 

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites
On 27.03.2017 at 11:43 PM, chukcha said:

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

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

Edited by ivan13i

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
В 06.12.2017 в 17:54, chukcha сказал:

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.