Стандартная ситуация в вакууме - есть инфоблок, в нем разделы, в них элементы. Шаблоны ссылок выглядят так: /test/ - корневая директория /test/first-sect/ - страница списка элементов корневого раздела /test/second-sect/ - страница списка элементов другого корневого раздела /test/first-sect/subsect/ - страница списка элементов подраздела /test/first-sect/subsect/item1/ - страница элемента в подразделе /test/second-sect/item2/ - страница элемента в корневом разделе Задача: /test/page3/ - третья страница общего списка /test/first-sect/page2/ - вторая страница элементов корневого раздела /test/first-sect/subsect/page4/ - четвертая страница элементов подраздела Решение: Добавляем в /test/ комплексный компонент (news, catalog) и настраиваем ему шаблоны ссылок SEF_FOLDER = "test" section = #SECTION_PATH_CODE#/ element = #SECTION_PATH_CODE#/#ELEMENT_CODE#/ сохраняем, копируем к себе в шаблон шаблон этого комплексного компонента далее (можно "по-умному" добавить в шаблон комплексного компонента .parameters.php и описать новые свойства, а можно просто руками прописать новые свойства) page = page#PAGE_ID#/ pagesect = #SECTION_PATH_CODE#/page#PAGE_ID#/ создаем в шаблоне файлы page.php и pagesect.php с примерно таким содержанием global $NavNum; // номер пагинации предыдущего списка элементов $NextNavNum = (int)$NavNum + 1; // это номер пагинации следующего списка (нашего) $NavName = 'PAGEN_'.$NextNavNum; global ${$NavName}; // глобальная переменная, в которую нужно положить номер страницы ${$NavName} = (int)$arResult['VARIABLES']['PAGE_ID']; include('section.php'); // подключаем файл вывода данных и в конце останется лишь поменять шаблон постраничной пагинации, чтобы ссылки были какими надо (..../pageN/)
Компания АКРИТ
Красивый URL пагинации без кастомных компонентов
Стандартная ситуация в вакууме - есть инфоблок, в нем разделы, в них элементы.
Шаблоны ссылок выглядят так:
/test/ - корневая директория
/test/first-sect/ - страница списка элементов корневого раздела
/test/second-sect/ - страница списка элементов другого корневого раздела
/test/first-sect/subsect/ - страница списка элементов подраздела
/test/first-sect/subsect/item1/ - страница элемента в подразделе
/test/second-sect/item2/ - страница элемента в корневом разделе
Задача:
/test/page3/ - третья страница общего списка
/test/first-sect/page2/ - вторая страница элементов корневого раздела
/test/first-sect/subsect/page4/ - четвертая страница элементов подраздела
Решение:
Добавляем в /test/ комплексный компонент (news, catalog) и настраиваем ему шаблоны ссылок
SEF_FOLDER = "test"
section = #SECTION_PATH_CODE#/
element = #SECTION_PATH_CODE#/#ELEMENT_CODE#/
сохраняем, копируем к себе в шаблон шаблон этого комплексного компонента
далее (можно "по-умному" добавить в шаблон комплексного компонента .parameters.php и описать новые свойства, а можно просто руками прописать новые свойства)
page = page#PAGE_ID#/
pagesect = #SECTION_PATH_CODE#/page#PAGE_ID#/
создаем в шаблоне файлы page.php и pagesect.php с примерно таким содержанием
global $NavNum; // номер пагинации предыдущего списка элементов
$NextNavNum = (int)$NavNum + 1; // это номер пагинации следующего списка (нашего)
$NavName = 'PAGEN_'.$NextNavNum;
global ${$NavName}; // глобальная переменная, в которую нужно положить номер страницы
${$NavName} = (int)$arResult['VARIABLES']['PAGE_ID'];
include('section.php'); // подключаем файл вывода данных
и в конце останется лишь поменять шаблон постраничной пагинации, чтобы ссылки были какими надо (..../pageN/)