Php 如何使用多参数Opencart生成友好的URL

Php 如何使用多参数Opencart生成友好的URL,php,opencart,Php,Opencart,我在使用Opencart 2,并且喜欢在每个类别中使用颜色、大小、材质等过滤器 我尝试的是在filter select上为当前类别的每个筛选器生成新的友好链接 Controller custom_filter.php $filters = $this->model_catalog_custom_filters->getFilters($category_id); foreach($filters as $filter){ $data['filters'][] = array(

我在使用Opencart 2,并且喜欢在每个类别中使用颜色、大小、材质等过滤器

我尝试的是在filter select上为当前类别的每个筛选器生成新的友好链接

Controller custom_filter.php

$filters = $this->model_catalog_custom_filters->getFilters($category_id);

foreach($filters as $filter){
  $data['filters'][]  = array(
     'id'    => $filter['id'],
     'name'  => $filter['name'],
     'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&custom_filter_id=' . $filter['id'])
   );
}
在Controller seo_url.php中,我做了一些更改,以便能够读取和自定义过滤器id

public function rewrite($link) {
 ................
 ...........


elseif($key = 'custom_filter_id') {
 $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'custom_filter_id=" . $value . "'");

         if ($query->num_rows) {
              $url .= '/' . $query->row['keyword'];

               unset($data[$key]);
          }
Model custom_filters.php

$query = $this->db->query(SELECT * FROM custom_filters WHERE category_id = '" . (int)category_id . "');

$return $query->rows;
因为在这里,如果我通过,一切都会很好:

$this->url->link('product/category', 'path=' . $this->request->get['path'] . '&custom_filter_id=' . $filter['id']
这将成为www.domain/category/filter name

当我传递多个自定义过滤器id时出现问题,如下所示:

$this->url->link('product/category', 'path=' . $this->request->get['path'] . '&custom_filter_id=15&custom_filter_id=16&custom_filter_id=17'
链接变为:域/类别/筛选器名称(上次通过和自定义\u文件管理器\u id)

我期望的时间:域/类别/筛选器名称/筛选器名称/筛选器名称

如何使其与多个自定义过滤器id一起工作