Я использую сейчас MegaFilterPro, но у него есть один просак в плане ссылок: когда включаешь сео, то ссылки типа desktops/mfp,width[1] нет возможности скопировать/открыть в новом окне. (пишет, что страница не найдена). В то время как если не включать поддержку сео в данном модуле, то все работает при ссылках вида desktops?mfp=width[1]. Все вышеописанное вполне логично, и нет, я не упал в край! Но, есть особенно отдаленные люди/конторы/ситуации. Что приходится делать эти чертовы сео-фильтры, или как хотите так и обзывайте их. Вот я и решил сделать это со стандартным фильтром из этой сборки. Хочется, чтобы ссылка при выборе позиции фильтра (velosipedi&filter=80) была след.: velosipedi/dorozhniye. И т.д. при выборе одного или двух(если два то разделитель запятая). Я уже пытался, делать так: в файле seo_url.php после строк Код: foreach ($parts as $part) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'"); Вставляю наброску раз: Спойлер: Код1 Код: //begin filter if ( ! $query->num_rows) { if (substr_count($part, ',')>0 ) { $filters = explode(',', $part); foreach ($filters as $filter) { $mfilter_query = $this->db->query( "SELECT * FROM " . DB_PREFIX . "mfilter_url_alias WHERE alias = '" . $this->db->escape($filter) . "'"); if( $mfilter_query->num_rows ) { if (!isset($this->request->get['filter'])) { $this->request->get['filter'] = $mfilter_query->row['mfilter_url_alias_id']; } else { $this->request->get['filter'] .= ',' . $mfilter_query->row['mfilter_url_alias_id']; } } } } else { $mfilter_query = $this->db->query( "SELECT * FROM " . DB_PREFIX . "mfilter_url_alias WHERE alias = '" . $this->db->escape($part) . "'"); if( $mfilter_query->num_rows ) { $this->request->get['filter'] = $mfilter_query->row['mfilter_url_alias_id']; } } } //end filter И уже после строк: Код: if (isset($this->request->get['route'])) { return new Action($this->request->get['route']); } } Вставляю наброску два: Спойлер: Код2 Код: //begin filter if (isset($this->request->get['filter'])) { $filters_id = explode(',', $this->request->get['filter']); $filter_path = ''; foreach ($filters_id as $id) { $mfilter_query = $this->db->query( "SELECT * FROM " . DB_PREFIX . "mfilter_url_alias WHERE mfilter_url_alias_id = '" . (int)$id . "'"); if ($mfilter_query->num_rows) { if (!next($filters_id)) { $filter_path .= $mfilter_query->row['alias']; } else $filter_path .= $mfilter_query->row['alias'] . ','; } } $cat_path .= '/' . $filter_path; } //end filter И завершающий код, после: Код: $url .= '/' . $query->row['keyword']; } else { $url = ''; break; } } unset($data[$key]); Наброска три: Спойлер: Код3 Код: //begin filter } elseif ($key == 'filter') { $filters = explode(',', $value); $text_route = ''; foreach ($filters as $filter) { $mfilter_query = $this->db->query( "SELECT * FROM " . DB_PREFIX . "mfilter_url_alias WHERE mfilter_url_alias_id = '" . (int)$filter . "'"); if($mfilter_query->num_rows && $mfilter_query->row['alias']) { if (!next($filters)) { $text_route .= $mfilter_query->row['alias']; } else $text_route .= $mfilter_query->row['alias'] . ','; } } $url .= '/' . $text_route; unset($data[$key]); //end filter В итоге голова моя кругом...уже не первый день. Я понимаю бредовость затеи, но: "Такое возможно ведь?" Если вы уже сталкивались с таким, или Ваш скилл понятное дело выше, и Вы можете подсказать, куда копать/что читать еще кроме форумов про разного рода Pro/Cooll и пр. фильтры ил иже как выйти из этой ситуации - пожалуйста не пройдите мимо, подскажите. Заранее Вам благодарен. Я не прошу сделать за меня, я просто прошу взглянуть на этот вопрос "свежей головой". Т.к. опыта пока, что у меня мало.
Ну какая она свежая, когда новый год на носу )) После нг, что нибудь придумаем.. И про этот сео в стандартном фильтре, вроде была тема.. надо было там продолжить..
Там все снова ушло в создание кучи категорий под позиции фильтра, с последующим тосованием ими. Это ж не то(