Prestashop 删除 id 类别

问题描述 投票:0回答:1

我是 Prestashop 用户,我正在尝试寻找 url 类别解决方案

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

问候

prestashop prestashop-1.6
1个回答
0
投票

实际上你可以重写 Dispatcher.php 类。这在很大程度上取决于你是哪个版本。

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

/*
*  @author      Matt Loye <[email protected]>
*  @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-9\pL]*'),
                '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]*'),
            ),
        ),
    );
}
© www.soinside.com 2019 - 2024. All rights reserved.