Марк - вот репост ответа, который я разместил на другом двойном вопросе :
Лучший подход здесь, так как вам нужно проанализировать ваши настраиваемые поля, это сначала найти entry_ids последних 4 записей от разных авторов, а затем передать их в тег channel:entries
через встраивание, используя параметр entry_id
.
Это должно сработать (обязательно замените channel_id
на соответствующее целое число). Замените весь свой текущий кусок кода следующим:
{embed="embeds/_latest_per_member" entry_ids="{exp:query sql="SELECT entry_id, author_id FROM exp_channel_titles WHERE entry_date IN( SELECT MAX(entry_date) FROM exp_channel_titles WHERE status != 'closed' AND channel_id = 1 GROUP BY author_id ) ORDER BY entry_date DESC LIMIT 4" backspace="1"}{entry_id}|{/exp:query}"}
Тогда ваш шаблон embeds / _latest_per_member может выглядеть примерно так:
{exp:channel:entries channel="channel_name" entry_id="{embed:entry_ids}"}
{author_id}<br />
<a href="{path=portfolios/gallery/{username}}"><img src="{thumbnail}"></a><br>
<a href="{path=portfolios/gallery/{username}}">{title}</a><br />
{/exp:channel:entries}
Вы упоминали, что этот код выдал вам рекурсивную ошибку - это означает, что вы сделали еще один вызов для встраивания в встраивания. Не делай этого.