Sensenet: нумерация страниц в библиотеке документов

Можно ли определить нумерацию страниц в библиотеке документов? У меня есть библиотека документов с более чем 10000 документов... когда я открываю библиотеку, происходит тайм-аут.


person Luciano Valinho    schedule 15.02.2017    source источник


Ответы (3)


На самом деле SenseNet уже делает это! Они просто не доставляют его в стандартном элементе управления списком. Если вы откроете PRC и перейдете к /Root/IMS/BuiltIn/Portal, вы увидите элемент управления списком с пейджингом. Код можно найти в /Root/Global/renderers/UserExploreGrid.ascx как портлет управления пользователями. Вы можете скопировать код и изменить его в соответствии с вашими потребностями.

Наша компания предпочитает создавать портлеты управления пользователями и использовать таблицы данных с вызовами SenseNet OData API с использованием skip и top для доставки страниц.

Наконец, учитывая, что содержимое SenseNet хранится в виде древовидной структуры (в SQL!), вы можете перемещать содержимое после создания, чтобы данные были организованы иерархически. Обычное решение состоит в том, чтобы взять первую букву DisplayName и создать подпапку из этой буквы, тем самым уменьшив количество элементов на одном узле.

Вот как выглядит пейджинг:

введите здесь описание изображения

person Thane Plummer    schedule 27.03.2017

Короткий ответ: нет. Сейчас для этого нет встроенного функционала. Длинный ответ заключается в том, что вы можете сделать разбивку на страницы самостоятельно. Один из основных членов sensnet сделал сетку, в которой можно использовать разбиение на страницы. Это не будет работать с текущими бесплатными версиями, потому что в них отсутствуют файлы js, которые она использовала. Но идея, стоящая за этим, заключается в использовании пользовательского представления. Этого можно добиться, добавив системную папку с именем Views в библиотеку документов и добавив туда свое собственное представление.

person Zoltán Bedi    schedule 05.03.2017

Вы можете использовать эту сетку для исследования, просто выполните следующие действия:

  1. Перейдите на страницу действия «Исследовать» и переключите режим редактора на PRC.
  2. Поместите портлет ClientContext (его можно найти в разделе Portlets->Application диалогового окна выбора портлета) в столбец Wide. Задайте для свойств портлета (портлет контекста клиента) Apparance значение None. Это технический портлет, который позволяет получить CurrentContext в javascript. Это очень важный элемент для работы с этой сеткой. Grid использует клиентский контекст.
  3. Поместите UserControlPortlet (в средстве выбора портлетов, раздел Portlets->Application) в широкий столбец.
  4. Задайте свойства портлета: 4.1. Заголовок портлета: ‹%$ Ресурсы: PortletTitles, Items%> 4.2. Путь пользовательского элемента управления: /Root/Global/renderers/UserExploreGrid.ascx
  5. Модификация страницы регистрации на КНР.
  6. Наслаждайтесь своим постраничным портлетом исследования.

Имейте в виду, что эта сетка создана специально для пользователей, поэтому они будут пропускать действия в верхнем меню. Они должны быть написаны от руки. Затем я предлагаю вам скопировать UserControl (/Root/Global/renderers/UserExploreGrid.ascx), а затем поместить в него список действий. Подробнее о списке действий можно прочитать здесь: http://wiki.sensenet.com/ActionList

Бр, марос

person maros    schedule 25.01.2018