Форум русской поддержки Joomla!® CMS
10.12.2016, 01:19:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Допцены в карточке товара (сортировка)

 (Прочитано 94 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Cheburashka
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« : 02.09.2016, 13:56:17 »

Добрый день, коллеги. Подскажите, может кто-то знает как сделать. В карточке товара доп цены выводятся в виде:

Цены
от 10 шт.   100 руб. / шт.
от 20 шт.   90 руб. / шт.
от 30 шт.   80 руб. / шт.

Нужно вывести их в обратном порядке

Цены
от 30 шт.   80 руб. / шт.
от 20 шт.   90 руб. / шт.
от 10 шт.   100 руб. / шт.

Подозреваю, что где-то надо сделать сортировку массива. Подскажите где искать?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7781



« Ответ #1 : 02.09.2016, 14:00:59 »

там где пишите, там и искать - в шаблоне карточки товара
Код:
foreach($this->product->product_add_prices as $k=>$add_price){
...
}
Записан
Cheburashka
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #2 : 02.09.2016, 14:27:02 »

там где пишите, там и искать - в шаблоне карточки товара
Код:
foreach($this->product->product_add_prices as $k=>$add_price){
...
}

dmitry_stas, спасибо, за подсказку. добавила строкой выше:

<?php rsort($this->product->product_add_prices);?>

и все заработало Azn
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7781



« Ответ #3 : 02.09.2016, 15:11:44 »

всегда пожалуйста Azn я правда не уверен, насколько то, что вы сделали, универсально. поскольку rsort просто сортирует массив в обратном порядке, то это подойдет если изначально массив отсортирован от меньшего к большему. а если изначально сортировка в разброс (в админке в товаре порядок доп.цен по возрастанию не соблюден), то и на выходе получится тоже вразброс. что правда, я не помню точно, может ли быть такое, чтоб в админке он был в разброс, а проверить сейчас не могу.
Записан
Cheburashka
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #4 : 02.09.2016, 16:22:08 »

Да, Вы правы. Если добавить в конец, например, 5 шт - 110 руб/шт, то порядок нарушается. Причем после сохранения в админке они (штуки-рубли) отображаются по возрастанию. Я так понимаю, что rsort сортирует их по id записи. Сделала так:

<?php array_multisort($this->product->product_add_prices,SORT_NUMERIC,SORT_DESC);?>

Вроде получилось как надо Azn
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7781



« Ответ #5 : 02.09.2016, 17:34:22 »

угу, думаю теперь то, что надо. что правда я в принципе не уверен относительно правильности такого подхода Azn ведь человек читает как правило сверху вниз, и соответственно самая нижняя (по умолчанию самая низкая) цена больше всего запомнится. а у вас будет наоборот. но это уже оффтоп.
Записан
Cheburashka
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #6 : 02.09.2016, 17:40:10 »

угу, думаю теперь то, что надо. что правда я в принципе не уверен относительно правильности такого подхода Azn ведь человек читает как правило сверху вниз, и соответственно самая нижняя (по умолчанию самая низкая) цена больше всего запомнится. а у вас будет наоборот. но это уже оффтоп.
Так хочет заказчик. Да, люди читают слева-направо, сверху-вниз, но не все дочитываю до конца. Вот ему и надо, чтобы первой стояла наименьшая цена. Увидел низкую цену - нажал на кнопку Купить. "Замануха" такая.

Вам спасибо за помощь Azn
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet