A few questions around the sort product function
- Portman
- Contributor
- Posts: 158
- Joined: Mon Mar 08, 2021 1:04 am
- Phoenix Version: v1.0.8.20
- Has thanked: 29 times
- Been thanked: 4 times
A few questions around the sort product function
Hi,
I am wanting to change some things about the sort function on my site, I am not sure if there is a simple way to change some of these in admin or something that I have missed of if I need to change the with the code...
When you sort by date added or most popular it defaults to give you the oldest, or least popular item first, I know you then click the sort by button again and it flips it, but I feel like it should default the other way aruond - IE most popular and newest display first.
I would like remove sort by Price as well.
Finally, has anyone done an addon or anything that allows you to sort/show items that are trending (IE rather than showing best sellers of all time, just display best sellers over th past month or so)... if not do you think this would be a hard thing to do? obviously there is the products_ordered filed in the database wich is used for best sellers which makes sorting easy adding a date range I assume would be quite complex.
Thanks
I am wanting to change some things about the sort function on my site, I am not sure if there is a simple way to change some of these in admin or something that I have missed of if I need to change the with the code...
When you sort by date added or most popular it defaults to give you the oldest, or least popular item first, I know you then click the sort by button again and it flips it, but I feel like it should default the other way aruond - IE most popular and newest display first.
I would like remove sort by Price as well.
Finally, has anyone done an addon or anything that allows you to sort/show items that are trending (IE rather than showing best sellers of all time, just display best sellers over th past month or so)... if not do you think this would be a hard thing to do? obviously there is the products_ordered filed in the database wich is used for best sellers which makes sorting easy adding a date range I assume would be quite complex.
Thanks
- Kofod95
- Senior Contributor
- Posts: 748
- Joined: Sat Feb 06, 2021 7:38 pm
- Phoenix Version: 1.0.8.20
- Has thanked: 99 times
- Been thanked: 179 times
Re: A few questions around the sort product function
Maybe you can use this to force DESC to bestsellers and newest.Portman wrote: ↑Tue Jun 25, 2024 2:14 am When you sort by date added or most popular it defaults to give you the oldest, or least popular item first, I know you then click the sort by button again and it flips it, but I feel like it should default the other way aruond - IE most popular and newest display first.
Admin->Configuration->Product Listing->Sort Option: Price (0=disable; 1=enable)
Haven't seen anything like that, but should be possible with the hook from the first part of my reply. Maybe you'd have to also add a join for orders_products into the query - can be done with a hook as well.Portman wrote: ↑Tue Jun 25, 2024 2:14 am Finally, has anyone done an addon or anything that allows you to sort/show items that are trending (IE rather than showing best sellers of all time, just display best sellers over th past month or so)... if not do you think this would be a hard thing to do? obviously there is the products_ordered filed in the database wich is used for best sellers which makes sorting easy adding a date range I assume would be quite complex.
If the date-part is scary, you could just fetch the X most recent numbers of products ordered, by selecting with a DESC id and a LIMIT at 'X'. That would of course mean, that you'd rarely have exactly a month, but it could be easier to work with.
//Daniel
I'm not smart, but sometimes even a blind chicken can find a corn.
Here are a lot of corns: Phoenix user guide
Here are a lot of corns: Phoenix user guide
-
ecartz
- Core Team
- Posts: 3084
- Joined: Tue Nov 05, 2019 6:02 pm
- Phoenix Version:
- Has thanked: 4 times
- Been thanked: 208 times
Re: A few questions around the sort product function
That sounds much scarier than a date range if you are sorting by something other than most recent.
- Kofod95
- Senior Contributor
- Posts: 748
- Joined: Sat Feb 06, 2021 7:38 pm
- Phoenix Version: 1.0.8.20
- Has thanked: 99 times
- Been thanked: 179 times
Re: A few questions around the sort product function
I believe you, but I don't understand why - instead of thinking in "last month's trending" it would be "last N orders' trending" (or "last products' trending"). At least as far as I can see, the effect will be the same: Presenting the products that have been purchased the most recently. But I would not be surprised, if I was very wrong!
Anyway - couldn't let the thought slip, so played a bit with some sql, and found something very ugly, someone might be able to use. NOTE: this is only a concept!
A date-range could easily be added in a WHERE-clause, replacing the ORDER BY and LIMIT:
Code: Select all
SELECT p.*,
(SELECT SUM(ops.products_quantity)
FROM (
SELECT op.products_quantity, op.products_id
FROM orders_products op
ORDER BY op.orders_id DESC
LIMIT 300
) AS ops WHERE ops.products_id = p.products_id
) AS trending
FROM products p
ORDER BY trending DESC;
I'm not smart, but sometimes even a blind chicken can find a corn.
Here are a lot of corns: Phoenix user guide
Here are a lot of corns: Phoenix user guide
-
ecartz
- Core Team
- Posts: 3084
- Joined: Tue Nov 05, 2019 6:02 pm
- Phoenix Version:
- Has thanked: 4 times
- Been thanked: 208 times
Re: A few questions around the sort product function
Well, to make it work, you are using two levels of subselects because you are using sorting to filter. Meanwhile, the same using a date range: Only one level of subselect. Untested.
Code: Select all
SELECT p.*,
(SELECT SUM(op.products_quantity)
FROM orders_products op INNER JOIN orders o ON o.orders_id = op.orders_id
WHERE o.date_purchased >= '2024-06-01 00:00:00' AND op.products_id = p.products_id
) AS trending
FROM products p
ORDER BY trending DESC;- Portman
- Contributor
- Posts: 158
- Joined: Mon Mar 08, 2021 1:04 am
- Phoenix Version: v1.0.8.20
- Has thanked: 29 times
- Been thanked: 4 times
Re: A few questions around the sort product function
thanks for the replys... I will take a bit of time to look at the trending idea in a little while.... quick question though about sort order;
@Kofod95 you directed me to;
viewtopic.php?f=28&t=1624&p=11290#p11290
which I downloaded and tried.... it seems to only allow you to control 1 list at a time... do you know how I change it so I can change 2 lists (IE date added and sales/most popular?)
I tried creating a list with commas in;
eg '3a, 4a'
But that obviously is not how you do it
@Kofod95 you directed me to;
viewtopic.php?f=28&t=1624&p=11290#p11290
which I downloaded and tried.... it seems to only allow you to control 1 list at a time... do you know how I change it so I can change 2 lists (IE date added and sales/most popular?)
I tried creating a list with commas in;
Code: Select all
$_GET['sort'] = '3a'; // <--- change sort order here !But that obviously is not how you do it
- Kofod95
- Senior Contributor
- Posts: 748
- Joined: Sat Feb 06, 2021 7:38 pm
- Phoenix Version: 1.0.8.20
- Has thanked: 99 times
- Been thanked: 179 times
Re: A few questions around the sort product function
That file is for setting a new default and only one is possible as default.
Try looking at this post viewtopic.php?p=6734#p6734
The code there shows how to insert a new sort option, and might be useful to change the current options behavior.
I haven't tried it, so I don't know for sure, but just thought it worth a shot.
//Daniel
Try looking at this post viewtopic.php?p=6734#p6734
The code there shows how to insert a new sort option, and might be useful to change the current options behavior.
I haven't tried it, so I don't know for sure, but just thought it worth a shot.
//Daniel
I'm not smart, but sometimes even a blind chicken can find a corn.
Here are a lot of corns: Phoenix user guide
Here are a lot of corns: Phoenix user guide
- Portman
- Contributor
- Posts: 158
- Joined: Mon Mar 08, 2021 1:04 am
- Phoenix Version: v1.0.8.20
- Has thanked: 29 times
- Been thanked: 4 times
Re: A few questions around the sort product function
Thanks @Kofod95
I spend a fair bit of time trying to get this to work with no luck. I am days away from having my site go live and I thought that this would be an easy one to fix so left it until now... Obviously it needs to be fixed as it will cause customers all sorts of confusion... unfortunatly my understanding on how to make hooks work is very limited - Ive done some stuff but more complex things are beyond me.
do you think you could give an idiot run down of how this would work in this instance...
I was able to put the the code that was in that topic into sortable_products_column.php and have a new sort link show up under the sort tab, but I was not able to control how it was displayed (ie most popular to least), it just listed it the same way that the other ones were listing but have not had any luck making it even show up if I set it up as a hook so I am obviously putting it in the wrong place.
I spend a fair bit of time trying to get this to work with no luck. I am days away from having my site go live and I thought that this would be an easy one to fix so left it until now... Obviously it needs to be fixed as it will cause customers all sorts of confusion... unfortunatly my understanding on how to make hooks work is very limited - Ive done some stuff but more complex things are beyond me.
do you think you could give an idiot run down of how this would work in this instance...
I was able to put the the code that was in that topic into sortable_products_column.php and have a new sort link show up under the sort tab, but I was not able to control how it was displayed (ie most popular to least), it just listed it the same way that the other ones were listing but have not had any luck making it even show up if I set it up as a hook so I am obviously putting it in the wrong place.
-
14Steve14
- Senior Contributor
- Posts: 923
- Joined: Fri Oct 25, 2019 7:01 pm
- Phoenix Version: v1.0.9.1
- Has thanked: 17 times
- Been thanked: 103 times
Re: A few questions around the sort product function
Contact one of the certified developers who will do a great job for you. Once you have it you will be able to learn from their coding.Portman wrote: ↑Sat Jul 06, 2024 1:15 am Thanks @Kofod95
I spend a fair bit of time trying to get this to work with no luck. I am days away from having my site go live and I thought that this would be an easy one to fix so left it until now... Obviously it needs to be fixed as it will cause customers all sorts of confusion... unfortunatly my understanding on how to make hooks work is very limited - Ive done some stuff but more complex things are beyond me.
- Kofod95
- Senior Contributor
- Posts: 748
- Joined: Sat Feb 06, 2021 7:38 pm
- Phoenix Version: 1.0.8.20
- Has thanked: 99 times
- Been thanked: 179 times
Re: A few questions around the sort product function
Maybe, but not in the immediate future, sorry.
There are a couple of posts containing code in the thread I linked. Try using the hook that sets the default sort order as a base. Comment out the function in that file and add one of the functions pasted in the thread. Play around with it, and see if something does something close to what you need. Don't be afraid to try things out - you can just delete the file and start over, if something goes horribly wrong
//Daniel
I'm not smart, but sometimes even a blind chicken can find a corn.
Here are a lot of corns: Phoenix user guide
Here are a lot of corns: Phoenix user guide