ExpressionEngine: сортировка списка каналов по связанной записи - PullRequest
1 голос
/ 01 сентября 2011

Может кто-нибудь помочь мне в сортировке списка каналов по названию связанной записи, пожалуйста?

У меня есть канал ' команды ', в котором есть поле team_region, которое зависит от другого канала ' регионов '.

Мой код выглядит следующим образом:

 {exp:channel:entries channel="teams" orderby="" sort="asc" limit="10"}
    <tr>
          <td>{title}</td>
          <td>{team_address}</td>
          <td>{related_entries id="team_region"}{title}{/related_entries}</td>
    </tr>
 {/exp:channel:entries}

Я хочу отсортировать результат по ' team_region >> title '. Можно ли этого добиться?

Спасибо!

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Почему бы не воспользоваться противоположным подходом - начните с канала Регионы, затем используйте обратные связанные записи , чтобы составить список своих команд.Добавьте тег запроса, чтобы получить заголовок региона из цикла {reverse_related_entries}, и вы должны хорошо выполнить:

{exp:channel:entries channel="regions" orderby="title" sort="asc"}
{reverse_related_entries orderby="title" sort="asc" channel="teams"}
    <tr>
        <td>{title}</td>
        <td>{team_address}</td>
        <td>{exp:query sql="SELECT title as region_title FROM exp_channel_titles t LEFT JOIN exp_relationships r ON r.rel_child_id = t.entry_id WHERE r.rel_id = {team_region} LIMIT 1"}{region_title}{/exp:query}</td>
    </tr>
{/reverse_related_entries}
{/exp:channel:entries}
0 голосов
/ 06 сентября 2011

Возможно, вы захотите посмотреть Playa от Pixel and Tonic.Это мощный многоаспектный инструмент с большим количеством опций, чем встроенное поле отношений.

Возможно, вы захотите использовать что-то вроде

{exp:playa:parents channel="channelname" orderby="title"}

Ссылка на документы →

...