Search code examples
prestashop

How to create Category / Subcategory Friendly URL in PrestaShop?


I have a question about formatting the friendly URL for category and subcategory and getting the matching products. I am using PrestaShop 1.5.2.0

Let's say we have a structure like this:

Category 1

  • Spare Parts
  • Accessories

Category 2

  • Chips
  • Accessories

I want to display the link like this: /category-1/accessories and to display the products from category 1->accessories. How can I achieve this?

The current behavior is when I click on accessories, being in category 1, the link is /accessories and the products that are displayed belong from both /category-1/accessories and /category-2/accessories

Thanks!


Solution

  • This question was answered on the PrestaShop forum. You can find it here http://www.prestashop.com/forums/topic/220017-category-subcategory-url/

    The solution - add this changes to the fallowing classes

    CLASSES/Dispatcher.php

    'rule' => '{categories:/}{id}-{rewrite}/',
    'categories' => array('regexp' => '[/_a-zA-Z0-9-\pL]*'),
    

    CLASSES/Link.php

    $cats = array();    
    foreach ($category->getParentsCategories() as $cat)    
    if (!in_array($cat['id_category'], array(1, 2, $category->id)))//remove root, home and current category from the URL    
    $cats[] = $cat['link_rewrite'];    
    $params['categories'] = implode('/', array_reverse($cats));