Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

vladimirr89

Newbie
  
  • Posts

    4
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

vladimirr89's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Reputation

  1. Собсно вод код, в нем четко написано "сортируем по полю sort_order", но почему-то оно сортирует все равно по name. Удалял это поле, разные методы пробовал другие, никаких изменений. Изменил в базе данных название фильтра, в админке название сменилось, а на сайте нифига. Что это вообще такое, куда сохраняются эти данные?? Я не особо еще в опен карт, в какие кэши еще сохраняется информация кроме system/storage/cache? Сижу ковыряю уже 2 часа, не понимаю в чем проблема. Подскажите пожалуйста! public function getCategoryFilters($category_id) { $implode = array(); $query = $this->db->query("SELECT filter_id FROM " . DB_PREFIX . "category_filter WHERE category_id = '" . (int)$category_id . "'"); foreach ($query->rows as $result) { $implode[] = (int)$result['filter_id']; } $filter_group_data = array(); if ($implode) { $filter_group_query = $this->db->query("SELECT DISTINCT f.filter_group_id, fgd.name, fg.sort_order FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_group fg ON (f.filter_group_id = fg.filter_group_id) LEFT JOIN " . DB_PREFIX . "filter_group_description fgd ON (fg.filter_group_id = fgd.filter_group_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND fgd.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY f.filter_group_id ORDER BY fg.sort_order, LCASE(fgd.name)"); foreach ($filter_group_query->rows as $filter_group) { $filter_data = array(); $filter_query = $this->db->query("SELECT DISTINCT f.filter_id, fd.name FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_description fd ON (f.filter_id = fd.filter_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND f.filter_group_id = '" . (int)$filter_group['filter_group_id'] . "' AND fd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY f.sort_order, LCASE(fd.name)"); foreach ($filter_query->rows as $filter) { $filter_data[] = array( 'filter_id' => $filter['filter_id'], 'name' => $filter['name'] ); } if ($filter_data) { $filter_group_data[] = array( 'filter_group_id' => $filter_group['filter_group_id'], 'name' => $filter_group['name'], 'filter' => $filter_data ); } } } return $filter_group_data; }
  2. Я бы с радостью, но уже все настроено, затык на этой сортировке фильтров случился. Может кэш какой почистить надо или есть файлы, отвечающие за это, я бы там прописал что-то типа "orderBy('id')"
  3. Есть простейший фильтр, в котором задан порядок сортировки (см. скриншот). НО почему то на выходе все равно сортирует по алфавиту, где задать этот порядок, чтобы сортировало как надо?
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.