Jump to content

Пессимизация товара в списке категории по клику в карточке


Recommended Posts

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

 

 

Link to post
Share on other sites

Запросом к БД, используя MIN и MAX position. Посмотри, как выбирается первое изображение товара используя position (при живом поиске, например) и возьми за пример.

Edited by koteyka
Link to post
Share on other sites

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

{*
  секции могут иметь вложенность любой глубины. Используя вложенные секции,
  вы можете обращаться к сложным структурам данных, таким как многомерные
  массивы. В этом примере $contact_type[customer] - это массив 
  типов контактов для текущего клиента.
*}
{section name=customer loop=$custid}
<hr>
    id: {$custid[customer]}<br>
    name: {$name[customer]}<br>
    address: {$address[customer]}<br>
   	{section name=contact loop=$contact_type[customer]}
        {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br>
 	  {/section}
{/section}

может такой подход поможет... если подходит для тебя...

 

 

ну или array_reverse 

Edited by Алексей Склейнов
Link to post
Share on other sites

 

{*
  секции могут иметь вложенность любой глубины. Используя вложенные секции,
  вы можете обращаться к сложным структурам данных, таким как многомерные
  массивы. В этом примере $contact_type[customer] - это массив 
  типов контактов для текущего клиента.
*}
{section name=customer loop=$custid}
<hr>
    id: {$custid[customer]}<br>
    name: {$name[customer]}<br>
    address: {$address[customer]}<br>
   	{section name=contact loop=$contact_type[customer]}
        {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br>
 	  {/section}
{/section}

может такой подход поможет... если подходит для тебя...

 

 

ну или array_reverse 

 

что за...? объясните что это за подход такой вообще? может я что-то не понимаю.

array_reverse возвращает массив в обратном порядке. как это применить к этой задече? если нужно переестить в конец только один товар. 

Link to post
Share on other sites

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

 

можно выбирать из базы максимальную позицию товаров, как сказал Котейка, и ставить этому товару MAX+1, но это не будет работать в случае если ваш посетитель захочет отсортировать товары не по позиции а по цене например. в этом случае лучше добавить еще одно поле в базу например to_end. и в админке чекбокс - выводить товар в конце. а в запрос по выборке добавить 

ORDER BY p.to_end,$order
Link to post
Share on other sites

что за...? объясните что это за подход такой вообще? может я что-то не понимаю.

array_reverse возвращает массив в обратном порядке. как это применить к этой задече? если нужно переестить в конец только один товар. 

Перед тем как умничать следовало бы понять о чем вопрос... ведь по сути его может и устроит вывод в обратном порядке (по умолчанию нормальные товары первоочередной значимости вносились сразу в базу и попадали вниз списка, а при пагинации их не удобно доставать) при котором товары первоочередной значимости вверху таблицы выводятся соответственно. Именно поэтому я и предложил такой вариант.

Edited by Алексей Склейнов
Link to post
Share on other sites

Перед тем как умничать следовало бы понять о чем вопрос... ведь по сути его может и устроит вывод в обратном порядке (по умолчанию нормальные товары первоочередной значимости вносились сразу в базу и попадали вниз списка, а при пагинации их не удобно доставать) при котором товары первоочередной значимости вверху таблицы выводятся соответственно. Именно поэтому я и предложил такой вариант.

 

я спросил что за первый подход а не array_reverse. для того чтобы сделать реверс, сначала нужно товар значимости ниже поместить в низ/верх. как будет работать реверс для товаров что уже в базе. никак. добавляя новые товары - можно добавять их вниз, и что, если нужно потом поднять какой-то товар или приопустить.

Link to post
Share on other sites

можно выбирать из базы максимальную позицию товаров, как сказал Котейка, и ставить этому товару MAX+1

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

Link to post
Share on other sites

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

 

я согласен. но тогда каким образом, я все-таки ввел бы еще дополнительное поле как говорил и сортировал по нему.

Link to post
Share on other sites

Тогда, видимо, надо по-Вашему с дополнительным полем. Поскольку у ТС есть "номарльные товары", и "НЕномарльные товары", то объективно нужно новое поле...

Link to post
Share on other sites

я спросил что за первый подход а не array_reverse. для того чтобы сделать реверс, сначала нужно товар значимости ниже поместить в низ/верх. как будет работать реверс для товаров что уже в базе. никак. добавляя новые товары - можно добавять их вниз, и что, если нужно потом поднять какой-то товар или приопустить.

а... ты про это.... первый - просто пример использования {section} вместо {foreach} в котором можно сделать вывод в обратном порядке в самом шаблоне, просто поменяв пару строк. что по сути с реверсом идентичено (автор темы бы понял что к чему, не лузер вроде, как мне показалось), а кто касается подробного рассмотрения ситуации именно одного товара, то вариант Корса (разделить нормальные и ненормальные) более благоразумнее в данной ситуации и их можно выводить вообще в разных таблицах. Приклеил якорь - "ненормальный" и все, он уже отшельник))))) живет с такими же ненормальными отдельно в своей табличке)))

Edited by Алексей Склейнов
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...