<p>If I get you right, you want to exclude the premium entries from the others? Carefull, code is not tested ;)</p>

<pre><code>{% set premiumEntries = craft.entries({
    section: 'offers',
    entry-type: 'premium',
    order: 'postDate desc'
}) %}

{% set standardEntries = craft.entries({
    section: 'offers',
    entry-type: 'standard',
    order: 'postDate desc'
}) %}
</code></pre>

<p>Then you need to do a loop to merge the standard to the premium. 
Something like this
<a href="https://craftcms.stackexchange.com/questions/4475/merge-two-arrays-of-elementmodels">Merge two arrays of ElementModels?</a></p>

<p>... and finally paginate trough all of them. 
Hope that helps.</p>

CC BY-SA 3.0
2017-08-27T17:16:30.857Z
Thanks Jan, any ideas, once I have merged the arrays in how to get that specific order. There is an almost identical question here: https://craftcms.stackexchange.com/questions/21732/create-a-specific-order-of-paginated-entries-by-entry-type/21734#21734 but no real answer.
Gareth
CC BY-SA 3.0
2017-08-27T17:28:02.017Z
wrong link maybe? ;)
Jan
CC BY-SA 3.0
2017-08-27T17:49:22.410Z
Oops infinite question loop error ;-) https://craftcms.stackexchange.com/questions/14002/merge-entries-but-only-after-x-amount-of-entries#comment29993_14002
Gareth
CC BY-SA 3.0
2017-08-27T20:15:41.027Z
ok, now I get exactly what you are trying to do. As I explained in my answer before I what seperate the entries first and them merge them together in a third object. So as I your order is not exactly systematic I would make a loop based on the premiumEntries object and with a simple if = 3 or 7 or 10 (if I counted right) I would merge an additional premiumEntries Entry to the new (third) object.
Jan
CC BY-SA 3.0
2017-08-27T11:12:04.820Z
2017-08-27T11:12:04.820Z
Jan
<p>I am working with a design that requires entries to be laid out on a listing page in a specific order based on whether they are "Standard" or "Premium". The order of the paginated listing page is as follows:</p>

<ul>
<li>Standard, Standard,  Premium</li>
<li>Standard, Standard, Standard, Standard</li>
<li>Premium, Standard, Standard</li>
<li>Standard, Standard, Standard, Standard</li>
<li>Pagination</li>
</ul>

<p>There could be a number of approaches with how I store the entries but my approach has been to set up a channel section "Offers" with two entry types "Standard" and "Premium". If the layout was not important I have the following working:</p>

<pre><code>{% paginate craft.entries.section('offers').limit(14) as pageInfo, pageEntries %}

{% for entry in pageEntries %}
  {% if entry.type == 'premium' %}
    {% include "_includes/offers/listing-card-premium" %}
  {% endif %}
  {% if entry.type == 'standard' %}
    {% include "_includes/offers/listing-card" %}
  {% endif %}
{% endfor %}

{# PAGINATIOIN NAV HERE #}
</code></pre>

<p>My question is, how do I achieve the above but using the specific order I need, whilst still paginating the entries and keeping track of what's been displayed.</p>

<entries><entry-type><pagination>
Create a specific order of paginated entries by entry type
# Create a specific order of paginated entries by entry type

(Asked by: username_0 on 2017-08-27)

I am working with a design that requires entries to be laid out on a listing page in a specific order based on whether they are "Standard" or "Premium". The order of the paginated listing page is as follows:

Standard, Standard,  Premium
Standard, Standard, Standard, Standard
Premium, Standard, Standard
Standard, Standard, Standard, Standard
Pagination

There could be a number of approaches with how I store the entries but my approach has been to set up a channel section "Offers" with two entry types "Standard" and "Premium". If the layout was not important I have the following working:
{% paginate craft.entries.section('offers').limit(14) as pageInfo, pageEntries %}

{% for entry in pageEntries %}
  {% if entry.type == 'premium' %}
    {% include "_includes/offers/listing-card-premium" %}
  {% endif %}
  {% if entry.type == 'standard' %}
    {% include "_includes/offers/listing-card" %}
  {% endif %}
{% endfor %}

{# PAGINATIOIN NAV HERE #}

My question is, how do I achieve the above but using the specific order I need, whilst still paginating the entries and keeping track of what's been displayed.

**Tags:** entries, entry-type, pagination


---

## 1 answers

### Answer by username_1 on 2017-08-27. Score: 1 | Accepted answer

If I get you right, you want to exclude the premium entries from the others? Carefull, code is not tested ;)
{% set premiumEntries = craft.entries({
    section: 'offers',
    entry-type: 'premium',
    order: 'postDate desc'
}) %}

{% set standardEntries = craft.entries({
    section: 'offers',
    entry-type: 'standard',
    order: 'postDate desc'
}) %}

Then you need to do a loop to merge the standard to the premium. 
Something like this
Merge two arrays of ElementModels?
... and finally paginate trough all of them. 
Hope that helps.

> **Comments:**
> **username_0**: Thanks username_1, any ideas, once I have merged the arrays in how to get that specific order. There is an almost identical question here: https://craftcms.stackexchange.com/questions/21732/create-a-specific-order-of-paginated-entries-by-entry-type/21734#21734 but no real answer.  
> **username_1**: wrong link maybe? ;)  
> **username_0**: Oops infinite question loop error ;-) https://craftcms.stackexchange.com/questions/14002/merge-entries-but-only-after-x-amount-of-entries#comment29993_14002  
> **username_1**: ok, now I get exactly what you are trying to do. As I explained in my answer before I what seperate the entries first and them merge them together in a third object. So as I your order is not exactly systematic I would make a loop based on the premiumEntries object and with a simple if = 3 or 7 or 10 (if I counted right) I would merge an additional premiumEntries Entry to the new (third) object.  

---

