Php 如何使用多参数Opencart生成友好的URL
我在使用Opencart 2,并且喜欢在每个类别中使用颜色、大小、材质等过滤器 我尝试的是在filter select上为当前类别的每个筛选器生成新的友好链接 Controller custom_filter.phpPhp 如何使用多参数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(
$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一起工作