This is actually a really good question. Currently each catalog item has an order value, just like a WordPress Page, which is used to give your catalog order. If you reorder the items to how you want in the ‘All Categories’ view and then save, your new order should translate to individual categories.
The problem with letting people order while viewing only a specific category is that it created duplicate order values and unexpected results. I want to block people from setting the order manually in a form field of any sort. This means order is set, updated and modified as you create, edit and delete your catalog items. This also means that trying to shuffle and reorder a subset of a list, without the rest of the list, is technically impossible. *note below*
The ways I am thinking of fixing this is are:
1. Each category gets its own order, so multiple catalog items could have the same order value of zero, but they would be in different categories and never displayed together. Potentials issues are you would loose the ability to order the entire list (all categories) and if an item is in two categories it can only have one order value. Meaning if you reorder category A with item C in it and then go to category B with item C in it and reorder again, category A could now have a different order because item C has had its order value changed when category B was modified.
2. Add an order by parameter to the plugin ShortCode so you could do something like, [catablog category="fish" orderby="title"]
. This is the only option that lets you display your catalog in different orders on different pages. This option is great, unless someone wants to use an arbitrary order that is completely unpredictable. Coupling this with the current ordering capabilities of CataBlog and you might cover most use cases (scenarios). One downfall with setting the order in the ShortCode will be that the catalog could be displayed with a different order then the Admin Panel.
3. Much like the previous option, you let people order by a field value, but you run it as a process in admin instead of making it a ShortCode parameter. This would work by letting someone choose a new calculated order while reordering their catalog. This will make sure the catalog it displayed with the same order in the Admin Panel and the front end. The caveat with this method is that you can only order your catalog in one particular way and the option to order by title with one ShortCode and order by price with another ShortCode is lost.
*NOTE*
Yes I could fetch the entire list, loop through it looking for the reordered item ids and noting their current order and then processing the old and new orders and some how come up with a new array of catalog items in a somewhat expected order, but the database queries and complexity of this method has steered me away.