移除id分类



我是prestshop用户,我想找到一个url分类解决方案

我需要知道删除Prestashop url的类别id(数字)的过程。例如www.mydomain.com/16-myproducts

实际上你可能会重写Dispatcher.php类。这很大程度上取决于你使用的是哪个版本。

这是我们去年在maltt1.6上做的,请注意这个代码,因为它可能已经过时了,它也涵盖了其他情况(产品,供应商…):

/*
*  @author      Matt Loye <matthieu@agence-malttt.fr>
*  @copyright   2016-2017 Agence Malttt
*/
class Dispatcher extends DispatcherCore
{
    /**
     * @var array List of default routes
     */
    public $default_routes = array(
        'supplier_rule' => array(
            'controller' => 'supplier',
            'rule' =>       'supplier/{rewrite}/',
            'keywords' => array(
                'id' =>             array('regexp' => '[0-9]+'),
                'rewrite' =>        array('regexp' => '[_a-zA-Z0-9-pL]*', 'param' => 'supplier_rewrite'),
                'meta_keywords' =>  array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_title' =>     array('regexp' => '[_a-zA-Z0-9-pL]*'),
            ),
        ),
        'manufacturer_rule' => array(
            'controller' => 'manufacturer',
            'rule' =>       'manufacturer/{rewrite}/',
            'keywords' => array(
                'id' =>             array('regexp' => '[0-9]+'),
                'rewrite' =>        array('regexp' => '[_a-zA-Z0-9-pL]*', 'param' => 'manufacturer_rewrite'),
                'meta_keywords' =>  array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_title' =>     array('regexp' => '[_a-zA-Z0-9-pL]*'),
            ),
        ),
        'cms_rule' => array(
            'controller' => 'cms',
            'rule' =>       'info/{rewrite}',
            'keywords' => array(
                'id' =>             array('regexp' => '[0-9]+'),
                'rewrite' =>        array('regexp' => '[_a-zA-Z0-9-pL]*', 'param' => 'cms_rewrite'),
                'meta_keywords' =>  array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_title' =>     array('regexp' => '[_a-zA-Z0-9-pL]*'),
            ),
        ),
        'cms_category_rule' => array(
            'controller' => 'cms',
            'rule' =>       'info/{rewrite}/',
            'keywords' => array(
                'id' =>             array('regexp' => '[0-9]+'),
                'rewrite' =>        array('regexp' => '[_a-zA-Z0-9-pL]*', 'param' => 'cms_category_rewrite'),
                'meta_keywords' =>  array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_title' =>     array('regexp' => '[_a-zA-Z0-9-pL]*'),
            ),
        ),
        'module' => array(
            'controller' => null,
            'rule' =>       'module/{module}{/:controller}',
            'keywords' => array(
                'module' =>         array('regexp' => '[_a-zA-Z0-9_-]+', 'param' => 'module'),
                'controller' =>     array('regexp' => '[_a-zA-Z0-9_-]+', 'param' => 'controller'),
            ),
            'params' => array(
                'fc' => 'module',
            ),
        ),
        'product_rule' => array(
            'controller' => 'product',
            'rule' =>       '{category:/}{rewrite}.html',
            'keywords' => array(
                'id' =>             array('regexp' => '[0-9]+'),
                'rewrite' =>        array('regexp' => '[_a-zA-Z0-9-pL]*', 'param' => 'product_rewrite'),
                'ean13' =>          array('regexp' => '[0-9pL]*'),
                'category' =>       array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'categories' =>     array('regexp' => '[/_a-zA-Z0-9-pL]*'),
                'reference' =>      array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_keywords' =>  array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_title' =>     array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'manufacturer' =>   array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'supplier' =>       array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'price' =>          array('regexp' => '[0-9.,]*'),
                'tags' =>           array('regexp' => '[a-zA-Z0-9-pL]*'),
            ),
        ),
        'layered_rule' => array(
            'controller' => 'category',
            'rule' =>       '{rewrite}/filter{selected_filters}',
            'keywords' => array(
                'id' =>             array('regexp' => '[0-9]+'),
                /* Selected filters is used by the module blocklayered */
                'selected_filters' =>       array('regexp' => '.*', 'param' => 'selected_filters'),
                'rewrite' =>        array('regexp' => '[_a-zA-Z0-9-pL]*', 'param' => 'category_rewrite'),
                'meta_keywords' =>  array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_title' =>     array('regexp' => '[_a-zA-Z0-9-pL]*'),
            ),
        ),
        'category_rule' => array(
            'controller' => 'category',
            'rule' =>       '{rewrite}/',
            'keywords' => array(
                'id' =>             array('regexp' => '[0-9]+'),
                'categories' =>     array('regexp' => '[/_a-zA-Z0-9-pL]*'),
                'rewrite' =>        array('regexp' => '[_a-zA-Z0-9-pL]*', 'param' => 'category_rewrite'),
                'meta_keywords' =>  array('regexp' => '[_a-zA-Z0-9-pL]*'),
                'meta_title' =>     array('regexp' => '[_a-zA-Z0-9-pL]*'),
            ),
        ),
    );
}

最新更新