2015-09-09 3 views
2

Я создал BC WebApp, используя API открытой платформы Open BC для back end, и все работает нормально, включая рендеринг списка элементов в порядке сортировки одного из мои пользовательские поля.Сортировка BC WebApp на переднем конце с использованием настраиваемого поля

Вот пример того, что работает на заднем конце .

var items = new BCAPI.Models.WebApp.ItemCollection(WEBAPP_NAME); 
items.fetch({ 
    order: "MyCustomField", 
    skip: 0, 
    limit: 1000, 
    success: onWebpAppListFetch, 
    error: onAPIError 
}); 

Как сделать этот список на переднем конце отсортированного по одной из моих пользовательских полей? Вот пример того, что я пытаюсь использовать на переднем конце , но он не упорядочивает и не сортирует этот путь.

{module_webapps order="MyCustomField" render="collection" template="/_System/apps/cms-sports-club-manager/club-rooms/layouts/club_rooms_collection.tpl" id="cms-club-roomsx" filter="all"}

Есть ли что-то, что я с видом, или мне нужно подойти к этому в моем ручном способе? Возможно, я мог бы отобразить список в массив, отсортировать массив, а затем перебрать его, чтобы отобразить передний конец? Файл шаблона использует Liquid для итерации по коллекции и отображения HTML. Могу ли я определить переменную массива, заполнить массив, отсортировать массив и повторить его снова в том же файле шаблона?

Другая возможность, может быть, чтобы вывести все элементы WebAPP в файл JSON каждый раз, когда пользователь создает/редактирует элемент (из заднего конца), а затем использовать функцию {module_json} на переднем конце читать, что JSON-файл, который «должен» разрешить мне сортировать его.

Любые советы о том, что делать (а также то, что НЕ делать), будут оценены.

+0

В 'module_webapps' нет' order = "" ', поэтому его следует удалить. Ваш лучший вариант - использовать Liquid для сортировки поля веб-приложения, однако я не уверен в коде для этого. – L84

ответ

0

Я нашел один из возможных ответов, но я не уверен, что это лучший способ сделать это.

Я выполнил скрипт, который выполняет следующие действия:

  1. Создать массив, содержащий все элементы (Unsorted в этой точке)
  2. Сортировка массива с помощью любого настраиваемого поля
  3. перебирать отсортированный array и document.write() каждый

Я проверил это честно и, похоже, делает именно то, что хочу, однако я не отметил это как правильный ответ jus но я все же хотел бы найти «лучший» способ, чем прибегать к вышеупомянутой ручной работе.

Смежные вопросы