2015-09-10 2 views
3

Я могу видеть, что Liquid позволяет сортировать коллекцию, используя приведенную ниже синтаксис:Business Catalyst Жидкое сортировки

{% assign sorted_items = items.all|sort:'Email' %} 

{% for item in sorted_items %} 
    <div>Name: {{item.name}}</div> 
    <div>Email: {{item.email}}</div> 
{% endfor %} 

Однако это не появляется на работе в Business Catalyst.

Если я использую это для визуализации результата на странице, он просто отображает «null».

{{sorted_items | json }} 

Должен ли я быть в состоянии сделать это в Business Catalyst, или я полностью теряю время, пытаясь найти решение, чтобы сортировать мои данные WebAPP?

+0

Похоже, что это не реализовано, в связи с этим обсуждением на форумах BC: https://forums.adobe.com/thread/1711721 –

+0

Этот вопрос можно улучшить, включив в него «Веб-приложение» в качестве части вопроса, например. «Бизнес-каталитическая жидкость для сортировки элементов веб-приложения». Не сразу понятно, какие данные вы пытаетесь сортировать. Вы пытаетесь сортировать данные веб-приложений по электронной почте в алфавитном порядке? Потому что «в алфавитном порядке» не входит ни в какой ваш вопрос ... – Luke

ответ

0

Вы можете сортировать данные, как это:

{module_data resource="customers" version="v3" fields="firstName,email1" collection="myData"} 
<pre>{{myData|json}}</pre> 

{% capture emails -%} 
{% for item in myData.items -%} 
,{{ item.email1.value }} - {{ item.firstName }}; 
{% endfor %} 
{% endcapture %} 
<pre>{{ emails | split: "," | sort }}</pre> 

Запятая не орфографическая ошибка:)

После разбиения строки в массиве вы можете делать все, что вам нужно сделать с ним.

0

Ответ от Daut не очень хороший. Любое решение в цикле for будет сортировать только количество элементов, извлеченных из модуля, и максимальная сумма для этого равна 500. Если вы используете module_data, вы просто используете его фактический вид!

{module_data ресурс = "клиенты" версия = "v3" порядка = "FirstName" поля = "ПгвЬЫат, EMAIL1" коллекция = "MyData"}

module_data поддерживает WHERE для фильтрации и для того, чтобы заказать результаты.

+0

Как заказать? module_data и заданный фильтр цикла. Это не будет работать. Я сказал, почему и дал фактическое решение через опцию пользовательского заказа в модуле. Так что это очень ответ. – thenexus00