Перейти к содержанию
JaguarTL

Товары с изображениями в начале

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

Здравствуйте, скажите пожалуйста, как можно сделать сортировку по наличию изображения у товара? чтобы товары с изображением стояли в начале.

 

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


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

order by image = '' ASC

 

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


Ссылка на сообщение
Поделиться на другие сайты
20 часов назад, chukcha сказал:

order by image = '' ASC

 

А теперь гадай куда это

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


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, JaguarTL сказал:

А теперь гадай куда это

 

в запрос выборки (как правило в файле модели) там, где идет вывод

как описано - таков и ответ ;)

 

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


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

Не засоряйте тему. Я пытался так order by image = '' ASC и так $sort 'p.image';

Не получилось.

 

Если не понимаете о чем я, вообще не пишите.. 

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


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, JaguarTL сказал:

Я пытался так order by image = '' ASC

где пытался?
Как пытался?

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


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, JaguarTL сказал:

Не засоряйте тему. Я пытался так order by image = '' ASC и так $sort 'p.image';

Не получилось.

 

Если не понимаете о чем я, вообще не пишите.. 

by image != '' 

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


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, JaguarTL сказал:

 $sort 'p.image';

		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.date_added',
            'p.image'//добавить
		);

потому как

if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {....

 

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


Ссылка на сообщение
Поделиться на другие сайты
21 час назад, chukcha сказал:

где пытался?
Как пытался?

в запросе выборки (как правило в файле модели) там, где идет вывод

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


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

Ну так покажите...

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


Ссылка на сообщение
Поделиться на другие сайты
17 часов назад, fanatic сказал:

		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.date_added',
            'p.image'//добавить
		);

потому как


if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {....

 

Не получилось)) тут ставил /catalog/controller/product/category.php  $sort = 'p.image';

В модели добавил, то что дал выше. Безрезультатно

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


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, chukcha сказал:

Ну так покажите...

/catalog/model/catalog/product.php

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


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

Вы запрос покажите, а не файл
 

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


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, JaguarTL сказал:

/catalog/model/catalog/product.php

 

у вас же нет сортировки по изображениям, можете так сделать

 

		if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
			if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
				$sql .= " ORDER BY p.image = '', LCASE(" . $data['sort'] . ")";
			} elseif ($data['sort'] == 'p.price') {
				$sql .= " ORDER BY p.image = '', (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
			} else {
				$sql .= " ORDER BY p.image = '', " . $data['sort'];
			}
		} else {
			$sql .= " ORDER BY p.image = '', p.sort_order";
		}

 

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


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

Испробовал все. Никак не хочет(

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


Ссылка на сообщение
Поделиться на другие сайты
11 часов назад, chukcha сказал:

Вы запрос покажите, а не файл
 

order by image = '' ASC

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


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, JaguarTL сказал:

order by image = '' ASC

 

Да какой asc

Могу за несколько пив сделать, вижу вы пытаетесь сделать то в чем сами не понимаете 

Изменено пользователем spectre

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


Ссылка на сообщение
Поделиться на другие сайты
В 19.01.2018 в 14:56, chukcha сказал:

order by image = '' ASC

 

Выше писали же

 

4 часа назад, spectre сказал:

 

Да какой asc

Могу за несколько пив сделать, вижу вы пытаетесь сделать то в чем сами не понимаете 

Хорошо. Давай в личку

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


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, spectre сказал:

Да какой asc

Как какой? самый настоящий

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


Ссылка на сообщение
Поделиться на другие сайты
48 минут назад, chukcha сказал:

Как какой? самый настоящий

 

Ну то есть так это нормально по-вашему? ) 

order by image = '' ASC

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


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

Что не так в конструкции?

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


Ссылка на сообщение
Поделиться на другие сайты
23 минуты назад, chukcha сказал:

Что не так в конструкции?

 

Запрос не сломается думаю, но какой смысл в равенстве чему-то по возрастанию?

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


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

true or false

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, chukcha сказал:

true or false

 

Точно, работает, но мне кажется это нелогично как-то

 

запись 

order by image = '' ASC

равнозначна

order by image = ''

 

и вызовет путаницу

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


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

Здесь явно указан порядок сортировки

  • +1 1

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


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

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

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

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

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

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

Войти

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

Войти

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.