Механизм выражения

Привет! Я пытаюсь упорядочить записи по полю с фамилией, но оно просто не работает. изменение порядка сортировки и сортировки на что-либо дает одинаковые результаты - последняя запись последняя в списке.

Есть идеи, что я могу делать не так?

{exp:query sql="SELECT member_id FROM exp_members WHERE group_id = '5'"}
{exp:member:custom_profile_data  member_id="{member_id}" orderby="surname" sort="asc"}
<li><a href="{path=portfolios/gallery/{username}}"><img src="{photo_url}" width="138" height="103" alt="{screen_name}" /></a>
<h3 class="name"><a href="{path=portfolios/gallery2/{username}}">{firstname} {surname}</a></h3></li>
{/exp:member:custom_profile_data} 
{/exp:query} 

2 ответа

Чтобы сэкономить энергию, вы можете подумать об использовании Freemember от Exp-resso на своем сайте. https://github.com/expressodev/freemember

Этот модуль имеет очень простой синтаксис, чтобы делать то, что вы хотите, и может добавить некоторые дополнительные функции, чтобы упростить разработку ExpressionEngine.

Я начну с указания на то, что если у вас много участников, этот вложенный запрос действительно может затормозить ваш сервер. Было бы гораздо эффективнее использовать модуль Query, чтобы получить все данные о членах за один раз, а затем выполнять их без вложенных custom_profile_data тег. Вы должны были бы учитывать переменные, которыми манипулируют заранее, используя custom_profile_data (например, URL-адреса изображений), но это стоило бы усилий для повышения производительности.

Несмотря на:

custom_profile_data тег запрашивает только одного члена, поэтому порядок и сортировка не будут иметь никакого значения. Ваша сортировка должна происходить во время вашего exp:query тег.

{exp:query sql="SELECT m.member_id FROM exp_members m, exp_member_data d WHERE m.group_id = '5' AND d.member_id = m.member_id ORDER BY d.m_field_id_X ASC"}
{exp:member:custom_profile_data  member_id="{member_id}"}
    <li><a href="{path=portfolios/gallery/{username}}"><img src="{photo_url}" width="138" height="103" alt="{screen_name}" /></a>
    <h3 class="name"><a href="{path=portfolios/gallery2/{username}}">{firstname} {surname}</a></h3>
    </li>
{/exp:member:custom_profile_data} 
{/exp:query}

замещать m_field_id_X с фактическим m_field_id вашей surname настраиваемое поле члена (которое можно найти, посмотрев на exp_member_fields в Инструменты → Данные → Диспетчер SQL).

Другие вопросы по тегам