Навигация по ресурсам в рамках директории

Для создания навигации в рамках директории для MODx существует несколько решений.
Воспользуемся одних из них - сниппет PrevJumpNext

Вольный перевод описания:

Генерирует ссылки для перехода между документами в директории (внутри дерева документов modx)
 
Способен отображать: 
  1. Номер статьи из общего количества статей в директории (ресурсе контейнере)
  2. Ссылки на 'Предыдущий' и 'Следующий'  с или без названия документов (ресурсов)  
  3. Ссылки на 'Первый' и 'Последний' документы.
  4. Ссылку на  'Index' - родительский документ (ресурс)
  5. Выпадающий список для быстрого перехода к конкретному документу. 

Плейсхолдеры:

[+PJN_first+] - первый документ ( ресурс );

[+PJN_prev+] - предыдущий документ (ресурс);
[+PJN_jump+] - выпадающий список для быстрого перехода на выбранный документ;
[+PJN_index+] - ссылка на корень директории (родительский ресурс , index page);
[+PJN_next+] - следующий документ;
[+PJN_last+] - последний документ;

Параметры вызова:

  • startID : Int - id  документа (ресурса) контейнера - корень директории (по умолчанию - id родительского ресурса); 
  • sortBy : String - Переменная документа по которой производится сортировка:  'menuindex' , 'id' , 'createdon' и пр  (по умолчанию: createdon);
  • sortHow : [ASC|DESC] - Порядок сортировки 'ASC' или 'DESC' (по умолчанию ASC);
  • displayTitle : Boolean - Показывать или нет заголовок документа в ссылках , зависит от &prevText и &nextText (по умолчанию: true);
  • displayFixed : Boolean - Показывает ссылки 'Первый' и 'Последний'  (по умолчанию: false);
  • usePlaceHolder : Boolean : Генерирует плейсхолдеры и отключает вывод собственного html кода ( [+PJN_first+] , [+PJN_prev+] , [+PJN_jump+] , [+PJN_index+] , [+PJN_next+] , [+PJN_index+] ) (по умолчанию: false);
  • useJump : Boolean : Замена ссылки на index выпадающим списком при использовании плейсхолдеров или без них (по умолчанию: false);
  • indexDocumentID : Int : ID документа который используется в качестве "index". (по умолчанию &startID);
  • displayNoPrevNext : Boolean : Выводит содержимое параметра &noPrevNextText в место  "previous" или "next" когда нет предидущего или следующего ресурса (по умолчанию false);
  • noPrevNextText : String : Текст показываемый если нет 'Prev' или 'Next' элементов и параметр &displayNoPrevNext == 1 :(по умолчанию "No more records");
  • indexText : String : Название для  "index" элемента (по умолчанию: "Index");
  • jumpText : String : Название для выпадающего списка  (по умолчанию: "Please Select");
  • firstText : String : Название для  элемента "первый" (по умолчанию: "First");
  • prevText : String : Название для элемента "предыдущий"  когда $displayTitle установлено в 'false' (по умолчанию: "Prev");
  • nextText : String : Название для элемента "следующий"  когда $displayTitle установлено в false (по умолчанию: "Next");
  • lastText : String : Название для элемента "последний" (по умолчанию: "Last");
  • exclude : Array : Список ID ресурсов разделённый запятыми для исключения из навигации (по умолчанию: пусто)
  • separator : String : Разделитель вставляемый между элементами (по умолчанию  " | ");
  • displayIndex : Boolean: Отображать или нет элемент "index" (по умолчанию - true);
  • firstSymbol : String : Префикс для элемента "Первый" (по умолчанию - [empty]);
  • prevSymbol : String : Префикс для элемента "Предыдущий" (по умолчанию- [empty]);
  • nextSymbol : String : Суффикс для элемента "Следующий" (по умолчанию- [empty]);
  • lastSymbol : String :  Суффикс для элемента "Последний" (по умолчанию- [empty]);
  • displayTotal : Boolean : Показывать или нет  элемент "Showing article X of Y" - "Текущая статья X из Y " (по умолчанию- true);
  • recordTypeName : String : Название для записей типа документов (ресурсов) Т.е.  если = "article" ,то "Showing article 3 of 25" (по умолчанию- "article");
  • includeFolders : Boolean : Включать или нет ресурсы с типом контейнер в список элементов (по умолчанию- [true);
  • maxTitleChars : Int : Обрезать заголовки документов ( ресурсов ) до указанного количества символов  (по умолчанию- 0 = показывать полный заголовок )

 Вывод:

Html код выдаваемый сниппетом не содержит дополнительных элементов. Мы получаем обычный список ссылок с соответствующими каждому элементу классами.
Т.е.:
 <a href="url" class="previous">Previous Title</a> | <a href="url" class="index">Index</a> | <a href="url" class="next">Next Title</a>
Имена классов: total, currentNumber, totalNumber, first, previous, index, next, last

 Примеры:

1) [[PrevJumpNext? sortBy=`menuindex` &sortHow=`ASC` &displayTitle=`1`]] 
 
2) [[PrevJumpNext? &sortBy=`pub_date` &usePlaceHolder=`true` &indexDocumentID=`XX` &firstText=`First` &lastText=`Last` &prevText=`Previous` &nextText=`Next` &indexText=`List of Articles` &jumpText=`Quick Access` &displayNoPrevNext=`1` &noPrevNextText=`It's the end`]]

Для отображения результатов работы этого примера необходимо разместить плейсхолдеры в соответствующих местах шаблона и вместо XX указать ID родительского документа.
  [+PJN_first+] [+PJN_prev+] [+PJN_jump+] [+PJN_index+] [+PJN_next+] [+PJN_last+]
 
3) Можно комбинировать этот сниппет с PHx и UltimateParent:
 
[+phx:if=`[[UltimateParent]]`:is=`XX`:and:isnot=`[*id*]`:then=`[!PrevJumpNext!]`:else=` `+]
 

 

Последнее изменение документа: 17 Ноябрь 2009
Alexa
Posts: 2
Comment
opinion
Reply #2 on : Втр Август 17, 2010, 15:54:25
At search engine http://www.pdfok.com you can learn more information about the several ways of combining snippet with PHx and UltimateParent
Anonymous
Posts: 2
Comment
Re: Навигация по ресурсам в рамках директории
Reply #1 on : Срд Июль 07, 2010, 18:21:19
rtyrty

Write a comment

  • Required fields are marked with *.

If you have trouble reading the code, click on the code itself to generate a new random code.