palerm0

Сортировка в категориях по умолчанию (цена низкая-высокая)

Рекомендуемые сообщения

palerm0    0

Здравствуйте!

Столкнулся с таким вопросом "Как по умолчанию сделать сортировку в категории по цене?" Вроде весь форум по этой тематике прочитал, но конкретного не нашел.

opencart 1.5.1.3

Если кто вкурсе где, что менять? подскажите пожалуйста!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noVe    152

По идее надо править файль модели и менять в запросе сортировку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noVe    152

А в каком именно файле?

Наверное, в этом catalogmodelcatalogcategory.php

Не уверен точно. В одном из файлов в папке catalogmodel :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
palerm0    0

public function getCategories($parent_id = 0) {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND c2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND c.status = '1' ORDER BY c.sort_order, LCASE(cd.name)");

Вот эту строчку менять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
palerm0    0

catalog -> controller - > product -> category.php

Вроде в этом файле где то

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noVe    152

Судя по названию таблицы в запросе category не там смотреть я вам насоветовал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noVe    152

catalog -> controller - > product -> category.php

Вроде в этом файле где то

Тоже об этом подумал :)

Там есть $this->data['sorts'] = array(); а ниже варианты сортировки, можно поэкспериментировать с параметрами.

Если сделать так:

$this->data['sorts'][] = array(

'text' => $this->language->get('text_default'),

'value' => 'p.sort_order-ASC',

'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)

);

То срабатывает только после выбора сортировки вручную :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
palerm0    0

if (isset($this->request->get['sort'])) {

$sort = $this->request->get['sort'];

} else {

$sort = 'p.sort_order';

Вроде нашел где... А что на что менять?...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
palerm0    0

$this->data['sorts'][] = array(

'text' => $this->language->get('text_default'),

'value' => 'p.price-ASC',

'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)

);

Вот вроде сделал по логике... Но ничего не изменилось...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noVe    152

Есть еще варианты? :-)

Есть. Но они где-то прячутся :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
palerm0    0

Жаль. Что же делать? Как быть? :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noVe    152

Жаль. Что же делать? Как быть? :-)

Экспериментировать. Найти решение. И выложить здесь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
palerm0    0

Экспериментировать. Найти решение. И выложить здесь :)

Может быть просто кто то знает и поделится! А то у меня даже мыслей нет где искать...

Думаю актуальная тема, много кому пригодится!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dimmaq    20

catalogcontrollerproductcategory.php

в начале есть код

  if (isset($this->request->get['sort'])) {
   $sort = $this->request->get['sort'];
  } else {
   $sort = 'p.price'; // тут поставить что требуется
  }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ingenerks    295
palerm0    0

Большое при-большое спасибо Вам!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
n-mikael    0

catalogcontrollerproductcategory.php

в начале есть код

  if (isset($this->request->get['sort'])) {
   $sort = $this->request->get['sort'];
  } else {
   $sort = 'p.price'; // тут поставить что требуется
  }

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От Fugex
      Здравствуйте. Уже очень долгое время бьюсь над вопросом дополнительной сортировки товара по наличию изображения. Нужно, чтобы в ИМ по умолчанию выводился сначала товар с изображением, а уже следом за ним без изображения. Подскажите, пожалуйста, есть ли решение? Буду безмерно благодарен! Версия OpenCart 2.2
    • От Otvet

      300.00 руб
      Скачать/Купить дополнение


      Sorts&Limits : Настраиваемая сортировка
      Внимание с FilterPro на Opencart 2.x возможны проблемы (фильтр сам перегружает товары после открытия страницы по своему) Модуль позволяет настраивать сортировку товаров в категориях/производителях/поиске/акциях, а так же добавляет новые варианты сортировки товаров.
      Так же имеется возможность управлять кол-вом товара на страницу и скрывать товары не в наличии
      Функции:
      настройка вывода пунктов сортировки в магазине выбор сортировки по умолчанию добавление сортировки по Новизне и Остатку возможность выводить сначала товары в наличии выбор вариантов сортировки по наличию (статус или нулевой остаток) возможность скрыть товары не в наличии настроить список чисел вывода кол-ва товара Совместимость:
      Opencart 2.x и модификации
      Opencart 1.5.x и модификации
      Установка 2.0:
      Зайдите в Дополнения - Установка Выберите файл *.ocmod.zip (распаковывать не нужно) После установка перейдите в Дополнения - Модификации и обновите кеш Перейдите в Дополнения - Модули и активируйте модуль SORTS+ Выберите нужные настройки и Сохраните При возникновении проблем, установите это http://www.opencart.com/index.php?route=extension/extension/info&extension_id=18892 Установка 1.5:
      Распакуйте архив в корень сайта Очистите папку vqcache Перейдите в Дополнения - Модули и активируйте модуль SORTS+ Выберите нужные настройки и Сохраните Добавил Otvet Добавлено 04.10.2015 Категория Фильтры Системные требования Сайт разработчика Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart ocStore OpenCart.Pro, ocShop  
    • От chemark23
      Всем привет! В моделе catalog/product.php описана выборка с сортировкой по условию. Например можно сортировать по цене, рейтингу и т.д. Но столкнулся с небольшой проблемой. Каждый товар имеет порядок сортировки,  задаваемый через админку. По умолчанию это 0 или 1. Так вот, хотелось бы задавать сортировку вручную по следующему условию. Порядковый номер 0 и 1 идут в конец, всё остальное сортируется в соотвествии с порядковым номером. Идеи, как сделать есть, но получается громоздкий запрос с Union. Может простые варианты есть, может order by по условию как-то можно? 
       
      Пример: 23445666000111
    • От Sha

      Скачать/Купить дополнение


      Удобная сортировка
      Сортировка! Opencart. ocStore.
      - удобная сортировка товара (интуитивно понятная)
      - изменить вид стандартной сортировки в категории товара
      в принципе, это просто наработка, а не полноценный модуль:
      бесплатно
      УСТАНОВКА:
      1) сделать БЭКАП файлов движка магазина!!!
      2) скопировать содержимое папки [upload] в корень движка.
      3) в файле catalog/view/theme/default(или ваша тема)/template/product/category.tpl
      заменить
      <div class="sort"><b><?php echo $text_sort; ?></b> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select> </div>   на
      <link rel="stylesheet" type="text/css" href="catalog/view/stylesheet/sha-sort.css" /> <div id="sha-sort"><b><?php echo $text_sort; ?></b> <?php foreach ($sorts as $sort_key => $sort_val) { ?> <a sort-class="<?php echo $sort_val['value']; ?>" class="sha-sortitem<?php if ($sort_val['value'] == $sort . '-' . $order) { ?> selected<?php } ?><?php if (!empty($sorts[$sort_key + 1]) && $sorts[$sort_key + 1]['value'] == $sort . '-' . $order) { ?> next-selected<?php } ?>" href="<?php echo $sort_val['href']; ?>"><span></span><?php echo $sort_val['text']; ?></a> <?php } ?> </div>   4) в файле catalog/language/russian/product/category.php
      заменить
      $_['text_name_asc'] = 'Наименование (А -> Я)';$_['text_name_desc'] = 'Наименование (Я -> А)';$_['text_price_asc'] = 'Цена (по возрастанию)';$_['text_price_desc'] = 'Цена (по убыванию)';$_['text_rating_asc'] = 'Рейтинг (по возрастанию)';$_['text_rating_desc'] = 'Рейтинг (по убыванию)';$_['text_model_asc'] = 'Модель (А -> Я)';$_['text_model_desc'] = 'Модель (Я -> А)';   на
      $_['text_name_asc'] = 'Наименование';$_['text_name_desc'] = 'Наименование';$_['text_price_asc'] = 'Цена';$_['text_price_desc'] = 'Цена';$_['text_rating_asc'] = 'Рейтинг';$_['text_rating_desc'] = 'Рейтинг';$_['text_model_asc'] = 'Модель';$_['text_model_desc'] = 'Модель';   не забывайте и о других страницах, таких как product/special и product/manufacturer и др.
      в архиве [+/+styles_all.zip] расширенный вариант файла стилей, для работы в Акциях и Производителях
      например
      в архиве [+/theme-default-(replace).zip] находятся дополнительно файлы с уже сделанными изменениями, из пунктов 3 и 4 ТОЛЬКО для default темы, можно заменить
      модуль можно скачать только на опенкартфорум точка ком, остальные способы распространения ни какого отношения к данному модулю не имеют.
      Разработчик не гарантирует отсутствия ошибок, которые могут нарушить работу компьютера и/или сайта и/или привести к потере данных; Если в код магазина было внесено много изменений, то работоспособность модуля может быть нарушена.
      ПОСМОТРЕТЬ МОЖНО ЗДЕСЬ
      .
      Добавил Sha Добавлено 18.07.2014 Категория Прочее Системные требования Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Не проверялось  
    • От Sha
      Сортировка! Opencart. ocStore.
      - удобная сортировка товара (интуитивно понятная)
      - изменить вид стандартной сортировки в категории товара
      в принципе, это просто наработка, а не полноценный модуль:
      бесплатно
      УСТАНОВКА:
      1) сделать БЭКАП файлов движка магазина!!!
      2) скопировать содержимое папки [upload] в корень движка.
      3) в файле catalog/view/theme/default(или ваша тема)/template/product/category.tpl
      заменить
      <div class="sort"><b><?php echo $text_sort; ?></b> <select onchange="location = this.value;"> <?php foreach ($sorts as $sorts) { ?> <?php if ($sorts['value'] == $sort . '-' . $order) { ?> <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option> <?php } else { ?> <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option> <?php } ?> <?php } ?> </select> </div>   на
      <link rel="stylesheet" type="text/css" href="catalog/view/stylesheet/sha-sort.css" /> <div id="sha-sort"><b><?php echo $text_sort; ?></b> <?php foreach ($sorts as $sort_key => $sort_val) { ?> <a sort-class="<?php echo $sort_val['value']; ?>" class="sha-sortitem<?php if ($sort_val['value'] == $sort . '-' . $order) { ?> selected<?php } ?><?php if (!empty($sorts[$sort_key + 1]) && $sorts[$sort_key + 1]['value'] == $sort . '-' . $order) { ?> next-selected<?php } ?>" href="<?php echo $sort_val['href']; ?>"><span></span><?php echo $sort_val['text']; ?></a> <?php } ?> </div>   4) в файле catalog/language/russian/product/category.php
      заменить
      $_['text_name_asc'] = 'Наименование (А -> Я)';$_['text_name_desc'] = 'Наименование (Я -> А)';$_['text_price_asc'] = 'Цена (по возрастанию)';$_['text_price_desc'] = 'Цена (по убыванию)';$_['text_rating_asc'] = 'Рейтинг (по возрастанию)';$_['text_rating_desc'] = 'Рейтинг (по убыванию)';$_['text_model_asc'] = 'Модель (А -> Я)';$_['text_model_desc'] = 'Модель (Я -> А)';   на
      $_['text_name_asc'] = 'Наименование';$_['text_name_desc'] = 'Наименование';$_['text_price_asc'] = 'Цена';$_['text_price_desc'] = 'Цена';$_['text_rating_asc'] = 'Рейтинг';$_['text_rating_desc'] = 'Рейтинг';$_['text_model_asc'] = 'Модель';$_['text_model_desc'] = 'Модель';   не забывайте и о других страницах, таких как product/special и product/manufacturer и др.
      в архиве [+/+styles_all.zip] расширенный вариант файла стилей, для работы в Акциях и Производителях
      например
      в архиве [+/theme-default-(replace).zip] находятся дополнительно файлы с уже сделанными изменениями, из пунктов 3 и 4 ТОЛЬКО для default темы, можно заменить
      модуль можно скачать только на опенкартфорум точка ком, остальные способы распространения ни какого отношения к данному модулю не имеют.
      Разработчик не гарантирует отсутствия ошибок, которые могут нарушить работу компьютера и/или сайта и/или привести к потере данных; Если в код магазина было внесено много изменений, то работоспособность модуля может быть нарушена.
      ПОСМОТРЕТЬ МОЖНО ЗДЕСЬ
      .
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу