Как да продукти Out of stock да излизат на последни страници ?

ivelin123

Active Member
Здравейте, имам едно въпросче, надявам се да получа помощ :) Как да продукти Out of stock да излизат на последни страници ? Става въпрос за OpenCart. Може ли от администраторския панел да се направи, че като търся в гугъл ми излизат само някакви модули
 

Станимир И

Well-Known Member
Привет, няма като опция това сортиране, може да се направи така:

Файл: catalog/controller/product/category.php

Код:
Намираш:
$sort = 'p.sort_order';

Заменяш със това:
$sort = 'p.quantity';

После сортирането:
$order = 'ASC';

на
$order = 'DESC';

Успех.

Поздрави,
Станимир И
 

ivelin123

Active Member
Благодаря ти, оправих го :)
 

hristonev

Well-Known Member
Това сортиране е по количество, за мен лично не е правилно. Правилна сортировка е 1. булева по количество избутва всички с 0 отзад, но другите са всички с 1ца тежест. След това 2. стандартна сортировка. Това дава и още един плюс, ако усера реши да сортира по цена, тези продукти пак ще са най-отзад. Малко дългичко стана, не съм педагог
 

Станимир И

Well-Known Member
Здравейте,
Ако може да използвам темата.
Как да се промени кода винаги да подрежда най-новите продукти първи в категориите.
Благодаря предварително.

Привет, това е метода:

Код:
Файла: catalog/controller/product/category.php

Намираш:
$sort = 'pd.name';

Заменяш със това:
$sort = 'p.date_added';


Това сортиране е по количество, за мен лично не е правилно. Правилна сортировка е 1. булева по количество избутва всички с 0 отзад, но другите са всички с 1ца тежест. След това 2. стандартна сортировка. Това дава и още един плюс, ако усера реши да сортира по цена, тези продукти пак ще са най-отзад. Малко дългичко стана, не съм педагог
Привет, това са стандартните методи, като цяло Opencart има заложени сортиранията, когато редактираш по-този начин, не се променя нищо като заявка, просто превключва метода, докато примерно при Magento там е дълга и широка, по-старите версии на Opencart, точно така бяха със редакция на model, по-новите вече са фиксирани.

Поздрави,
Станимир И
 

Станимир И

Well-Known Member
Не ми казвайте че това горе са редакции на core файлове...?

Привет, не разбира се, това е просто контролер, просто в Opencart там няма нищо сложно, просто си има заредени методи. Направено е индиец да може, да редактира файла, всеки без опит да го направи, през годините Opencart така се оформи.

Поздрави,
Станимир И
 

contra

Well-Known Member
Тамън погледнах... ма верно коре файлове се редактират тука :eek:
Лелеее тая система хептен индианска била.

Ами като ъпдейтнеш опенкарта после пак ли ръчно повтаряш упражнението?
 

Станимир И

Well-Known Member
Тамън погледнах... ма верно коре файлове се редактират тука :eek:
Лелеее тая система хептен индианска била.

Ами като ъпдейтнеш опенкарта после пак ли ръчно повтаряш упражнението?

Привет, за жалост това е така, но за сметка на това системата може да държи голям товар, това не са core файлове, поне не се водят, core файловет се намират във system, след това model по метод MVC, но контролера се изключва, дори може през model да избегнеш controller виждал съм и такива изпълнения, системата е гъвкава.

Поздрави,
Станимир И
 

ivelin123

Active Member
Привет, това е метода:

Код:
Файла: catalog/controller/product/category.php

Намираш:
$sort = 'pd.name';

Заменяш със това:
$sort = 'p.date_added';



Привет, това са стандартните методи, като цяло Opencart има заложени сортиранията, когато редактираш по-този начин, не се променя нищо като заявка, просто превключва метода, докато примерно при Magento там е дълга и широка, по-старите версии на Opencart, точно така бяха със редакция на model, по-новите вече са фиксирани.

Поздрави,
Станимир И
Да, забелязах, че продуктите с най-много наличности излизат най-отпред. Ще пробвам да добавя и вторият метод
 

ivelin123

Active Member
или просто да коригирам наличностите
 

Ivoniks

New Member
Привет, това е метода:

Код:
Файла: catalog/controller/product/category.php

Намираш:
$sort = 'pd.name';

Заменяш със това:
$sort = 'p.date_added';



Привет, това са стандартните методи, като цяло Opencart има заложени сортиранията, когато редактираш по-този начин, не се променя нищо като заявка, просто превключва метода, докато примерно при Magento там е дълга и широка, по-старите версии на Opencart, точно така бяха със редакция на model, по-новите вече са фиксирани.

Поздрави,
Станимир И
Благодаря получи се!
 

hristonev

Well-Known Member
Привет, това е метода:

Код:
Файла: catalog/controller/product/category.php

Намираш:
$sort = 'pd.name';

Заменяш със това:
$sort = 'p.date_added';



Привет, това са стандартните методи, като цяло Opencart има заложени сортиранията, когато редактираш по-този начин, не се променя нищо като заявка, просто превключва метода, докато примерно при Magento там е дълга и широка, по-старите версии на Opencart, точно така бяха със редакция на model, по-новите вече са фиксирани.

Поздрави,
Станимир И
@Станимир И ще Ви помоля да не ме цитирате в грешен контекст.

Естествено, че се променя заявката . Сортирането се прави от базата. Аз дадох начина и правилната логика на база SQL. От там на сетне могат да се правят много мъгарии за да се постигне.

@Noke в случая е много прав. Имате ocmod/vqmod а вие чупите контролери и модели...
 

Станимир И

Well-Known Member
@Станимир И ще Ви помоля да не ме цитирате в грешен контекст.

Естествено, че се променя заявката . Сортирането се прави от базата. Аз дадох начина и правилната логика на база SQL. От там на сетне могат да се правят много мъгарии за да се постигне.

@Noke в случая е много прав. Имате ocmod/vqmod а вие чупите контролери и модели...

Привет, всеки е свободен да прави каквото иска, като имате безплатно време, пускайте ocmod, прочем vqmod не се ползва от години защото има критични проблеми, аз съм доста зает човек и нямам време да правя ocmod, ако вие сте свободни, пуснете един на хората.

Поздрави,
Станимир И
 

bnice

Active Member
Хах, верно нивото много е паднало... Не е това начина да сортираш неналичните продукти по количество desc... И какво правим ако имаме складови наличности и решим да сортираме продуктите по sort order, т.е приоритетните ни продукти да са най-отгоре, независимо дали имаме 1000 или 20 бройки? Първо ще се показва продукта с 1000 бройки, независимо че сме му дали сорт ордер 100, а този със сорт ордер 1, ще е някъде на 5 страница. А ако клиентът реши да ползва опцията за подредба по цена или друг критерий - пак ще му излизат неналичните продукти най отгоре.

С vqmod/ocmod си редактираш не контролера на категорията, а модела на продукта. Потърси сдъвкано и изплюто решение в нета, или си купи за 20 кинта модул, който ще ти свърши наистина работа.
 

Станимир И

Well-Known Member
Хах, верно нивото много е паднало... Не е това начина да сортираш неналичните продукти по количество desc... И какво правим ако имаме складови наличности и решим да сортираме продуктите по sort order, т.е приоритетните ни продукти да са най-отгоре, независимо дали имаме 1000 или 20 бройки? Първо ще се показва продукта с 1000 бройки, независимо че сме му дали сорт ордер 100, а този със сорт ордер 1, ще е някъде на 5 страница. А ако клиентът реши да ползва опцията за подредба по цена или друг критерий - пак ще му излизат неналичните продукти най отгоре.

С vqmod/ocmod си редактираш не контролера на категорията, а модела на продукта. Потърси сдъвкано и изплюто решение в нета, или си купи за 20 кинта модул, който ще ти свърши наистина работа.

Привет, когато пишеш нещо за дадена система е хубаво да я познаваш, аз работя със нея от 2012 година, лично в Opencart имам над 500 реда код в ядрото и съм дори партньор на Opencart, това което ти пишеш е при версиите 2.x.x, при 3.x.x няма такива неща, разбира се, при къстъм модули се случва да се обърка сортирането, дадох решение което е базово при дадената информация. Ако искаш сериозно решение ще си закупиш модул, защото Opencart така е направен, собственика печели само от marketplace като взема комисионна от 50% при всеки закупен модул. Общо взето, ако искаш решение трябва да си платиш, това което съм дал е правилният метод от системата, ако беше при Magento щях да дам друг метод, прочем и в тяхното ядро имам код преди Adobe да закупи Magento.

Поздрави,
Станимир И
 

bnice

Active Member
Окей колега, само ти познаваш системата :) Аз лично съм си правил въпросната функционалност, без да купувам модули. И да, за двойката съм го правил. Но логиката е сходна - задаваш сортиране в категорията по подразбиране да ти е по налично количество в низходящ ред. Нищо друго не прави кода, който си дал. Ама няма нужда и да спорим, колегата може да си го тества и да каже.
 

hristonev

Well-Known Member
Да всичко по-горе може само да ме радва. Ако пък всички даваха добри съвети и пишеха качествен код, трябва да се преквалифицирам. Станимир, нищо лошо, но ако помислиш, преди да скочиш може и да научиш нещо или знаеш всичко
 

Станимир И

Well-Known Member
Окей колега, само ти познаваш системата :) Аз лично съм си правил въпросната функционалност, без да купувам модули. И да, за двойката съм го правил. Но логиката е сходна - задаваш сортиране в категорията по подразбиране да ти е по налично количество в низходящ ред. Нищо друго не прави кода, който си дал. Ама няма нужда и да спорим, колегата може да си го тества и да каже.
Привет, прав си, не съм спорил, просто съм по-директен човек, през годините работата ми със много бизнеси ме направи такъв. Винаги има решение за всеки проблем, но най-добре е да се закупи модул, защото после има кой да караш да оправя проблемите. За жалост Opencart има слабо развитие и то доста, последните 3 години тотално е спрял, а собственика е изключително вироглав и зор се доказва нещо на него, преди години имаше критична грешка към ядрото той цял месец казваше, че няма такава и накрая сам поправи проблема.

Поздрави,
Станимир И
 

Горе