Сортировка элементов информационной системы

#
Сортировка элементов информационной системы
Здраствуйте, уважаемые знатоки. Стоит задача реализовать управление сортировкой элементов информационной системы на сайте. То есть, чтобы у пользователя была возможность отсортировать список элементов по заданному полю по возрастанию или убыванию. Сортировать необходимо будет по названию элемента информационной системы, либо по значению его дополнительного свойства. Вопрос: как можно это реализовать?
#
Re: Сортировка элементов информационной системы
Внимательно читаем документацию http://www.hostcms.ru/documentation/modules/informationsystem/add/ - сортировка по имени (а также по дате и полю сортировки) уже "встроена" в ИС (нет сортировки по доп.свойству).
Если нужно сортировка со стороны клиентской части, то нужно дорабатывать ТДС.
Укажите точнее условия вашей задачи
ARTatom
#
Re: Сортировка элементов информационной системы
Сортировка именно со стороны клиента. На страницу выводится список элементов. Будет селектор с выбором условия сортировки. При выборе этого условия, должен будет измениться порядок отображения элементов этого списка.
#
Re: Сортировка элементов информационной системы
Если пришел запрос клиента, то добавляем условие перед методом show()
контроллера показа ИС. Что-то типа:

  $propertyId = 99; // ID вашего доп.свойства
  $direction = Core_Array::getRequest('sortDirection', false) ? 'ASC' : 'DESC';
  if (Core_Array::getRequest('sortByProperty', false)) {
    $oInformationsystemControllerShow->informationsystemItems()
      ->queryBuilder()
        // предполагаем, что доп.свойство - это текстовая строка
        ->leftJoin('property_value_string', 'informationsystem_items.id', '=', 'entity_id')
        ->where('property_value_string.property_id', '=', $propertyId)
        ->clearOrderBy()
        ->orderBy('property_value_string.value', $direction);
  } else
  {
    $oInformationsystemControllerShow->informationsystemItems()
      ->queryBuilder()
        ->clearOrderBy()
        ->orderBy('informationsystem_items.name', $direction);
  }
  . . .
  $oInformationsystemControllerShow->show();


Если направление сортировки не меняется, то $direction задайте явно
ARTatom
#
Re: Сортировка элементов информационной системы
Суть понял. Спасибо огромное!
Авторизация