COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Доска почета

Популярные сообщения

Showing content with the highest reputation on 08/02/17 везде

  1. Если стили бы что-то решали, то в коде страницы недостающий код был бы виден, ведь так? Надо проверить тип поля в базе данных.
    1 point
  2. немного не то правите для сортировки "по алфавиту" следует заменить $categories = $this->model_catalog_category->getAllCategories(); $data['categories'] = $this->model_catalog_category->getCategories($categories); на $filter_data = array( 'sort' => 'name', ); $data['categories'] = $this->model_catalog_category->getCategories($filter_data); а строка $categories = $this->model_catalog_category->getAllCategories(); не нужна, т.к. ее данные не соответствуют принимаемым методом модели getCategories, а далее переменная $categories все равно переопределяется и в нагрузку: если хочется, чтобы было как в списке категорий, тогда правим еще и метод getCategories модели ModelCatalogCategory меняем $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR '  >  ') AS name, c1.parent_id, c1.sort_order, c1.noindex FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c1 ON (cp.category_id = c1.category_id) LEFT JOIN " . DB_PREFIX . "category c2 ON (cp.path_id = c2.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'"; на $sql = "SELECT cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR '  >  ') AS name, REPLACE(RPAD(GROUP_CONCAT(c2.sort_order ORDER BY cp.level SEPARATOR '-'),10,'-0'),'-','')+0 AS basesort, c1.parent_id, c1.sort_order, c1.noindex FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c1 ON (cp.category_id = c1.category_id) LEFT JOIN " . DB_PREFIX . "category c2 ON (cp.path_id = c2.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'"; и $sort_data = array( 'name', 'sort_order', 'noindex' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { $sql .= " ORDER BY " . $data['sort']; } else { $sql .= " ORDER BY sort_order"; } на $sort_data = array( 'name', 'sort_order', 'noindex', 'basesort' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'basesort') { $sql .= " ORDER BY basesort " . ((isset($data['order']) && ($data['order'] == 'DESC'))?'DESC':'') . ", " . $data['sort']; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY sort_order"; } и в контроллере вместо 'sort' => 'name' пишем 'sort' => 'basesort' но тут следует иметь в виду, что порядок сортировки должен быть явно задан для категорий, иначе в выборке будет бардак
    1 point