Hello,
I'm using SimplePages, in the SimplePages show.php file I'm displaying collections based on the page, however, I'm trying to find a way to sort the collection items either by a field or directionally.
Any ideas would be great, thanks!
Hello,
I'm using SimplePages, in the SimplePages show.php file I'm displaying collections based on the page, however, I'm trying to find a way to sort the collection items either by a field or directionally.
Any ideas would be great, thanks!
How are you actually showing the collections?
Whatever you're using to get the collections should be able to take parameters for sorting.
Well, the sorting parameters don't seem to be working. Possibly because the sorting parameters only work for "browse"?
Thanks
For example,
<?php if ($page->slug == 'participants') : ?>
<ul class="list-col">
<?php
$items = get_items(array('collection' => 1));
set_items_for_loop($items);
while(loop_items()):
?>
<li>
<?php echo link_to_item(); ?><br/>
<?php echo item('Item Type Metadata', 'Affiliation'); ?>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
So, you're displaying items from a particular collection, not collections.
Anyway, you're using get_items
. As you can see on the documentation for get_items, the function takes sort_field
and sort_dir
options, so you just need to specify those to get sorted results.
Yes, I'm aware of those parameters, and it hasn't worked when I specify them. I believe there is a difference between "browse" vs. "show", no? From what I've read in the docs and forums, the sort_field and sort_dir only work when "browsing" a collection. I'm modifying show.php in SimplePlugins.
If I'm wrong, more insight would be great!
Thanks
Where are you specifying those parameters? There's nothing in your code to that effect.
The sort_field
and sort_dir
parameters are automatically read out of the URL for "browse" pages.
That's totally separate from using the parameters in code when calling a function like get_items
, which won't work any differently when used on a "show" page.
They aren't specified in the code above, I removed what I had been working with.
Is this correct syntax, it is not working?
$items = get_items(array('collection' => 1, 'sort_field' => 'Dublin Core,Subject'));
Thanks
That syntax exactly works correctly for me.
What's happening, is the parameter not affecting the output at all, or is the sorting just "off" in some way?
Also, I don't think you've mentioned: what version of Omeka are you using?
The parameter isn't affecting the output at all, nothing I've tried has affected it.
The Omeka version is 1.2.1, which I'm guessing might be the problem?
Thanks for your help.
Bingo.
As you'll see in the documentation on those sorting parameters, they were added in Omeka 1.3.