Fixed order with limited set, then resume normal order I have a news page (/news). You can open an article (i.e. /news/test-article) which uses the same listing template, but has an accordion open with content for that article (javascript/push state magic).

In the event someone goes directly to /news/{slug} I want to make sure that article is the top one in the list.

Is it possible to go i.e. 

$criterea = craft()-&gt;elements-&gt;getCriteria(ElementType::Entry);
$criterea-&gt;section = 'news';
$criterea-&gt;order = 'postDate desc';
$criterea-&gt;ids = [$startArticle-&gt;id, {magically fall back to default sorting!}];
$criterea-&gt;fixedOrder = true;


Or am I going to have to futz with the array manually after the search?

Thanks.
Isn't news/test-article just an example of news/{slug}? And is this for a plugin (hence the PHP) or a template (hence the templating tag for your question)?

Perhaps what you want to do is start by grabbing the slug from the URL and getting the entry you're after:

{% set entry = craft.entries.section('news').slug(craft.request.lastSegment).first %}
// output


Use that to display the first entry, then get the rest of the news entries but filter out the active:

{% set otherEntries = craft.entries.section('news').id('not ' ~ entry.id) %}
{% for otherEntry in otherEntries %}
    // output
{% endfor %}