Функция mso_get_pages() возвращает массив страниц из БД. Данная функция является универсальной, поэтому содержит множество параметров, изменяя которые можно получать самые разные страницы для разных задач и не прибегать к составлению своих SQL-запросов.
function mso_get_pages($r = array(), &$pag)
Первый параметр - массив опций. Второй - переменная пагинации.
Все опции являются строковыми. Ниже приведены все определенные в функции, а также их значение по-умолчанию.
- limit = 7 : сколько отдавать страниц.
- cut = 'Далее' : текст ссылки cut.
- xcut = true : для тех страниц у которых нет cut, но есть xcut выводить текст после xcut.
- cat_order = 'category_name' : сортировка рубрик в списке рубрик записи.
- cat_order_asc = 'asc' : порядок рубрик (asc - прямой, desc - обратный).
- pagination = true : нужно ли использовать пагинацию; если страница не требует пагинации, следует установить false - это съэкономит один запрос к БД.
- content = true : получать весь текст; если указать false, то текст записи не возвращается (пустая строка); можно использовать на страницах, где требуется получить только заголовки.
- page_id = 0 : если 0, значит все страницы; только для главной (тип данных home).
- cat_id = 0 : если 0, значит записи всех рубрики; только для главной (тип данных home); рубрики можно указать через запятую или пробел.
- type = 'blog' : тип страницы; если false - то все; если указан page_id, то type всегда равен false (то есть тип не учитывается).
- order = 'page_date_publish' : поле сортировки страниц.
- order_asc = 'desc' : порядок сортировки страниц (asc - прямой, desc - обратный).
- no_limit = false : если нужно вывести данные, невзирая на limit, то no_limit=true - пагинация при этом отключается.
- custom_type = false : custom_type - аналог is_type() - анализ явного указания типа данных. Функция анализирует тип данных (is_type) и, в зависимости от результата по разному формирует SQL-запрос. Для того, чтобы явно указать по какому алгоритму получить данные, можно явно указать custom_type. Возможные варианты: home, page, category, tag, archive, search, author.
- custom_func = false : можно указать свою кастомную функцию, которая будет формировать SQL-запрос. Данная функция должна быть подобна _mso_sql_build_home() и другим аналогичным (см. файл common/page.php).
- link_page_type = 'page' : тип (префикс ссылки) для страниц. В MaxSite CMS принято указывать страницы с page: http://сайт/page/slug. Вы можете указать свой префикс. Учитите, что в этом случае теряется совместимость с функциями MaxSite CMS, которые анализируют типы данных по URL.
- categories = array() : массив номеров по которому можно получить все записи указанных рубрик. Используется для типа данных category (рубрики).
- exclude_page_id = array() : исключить указанные в массиве записи.
- slug = false : получение страницы с указанным slug; используется там, где вычисляется mso_segment(2) страница, рубрика, метка, поиск.
- date_now = true : если true, то получаются только те записи, которые старше текущей даты; если false - то публикуются все.
- only_feed = false : если true, то отдаются только те записи, в которых отмечена эта опция при создании/редактировании.
- page_status = 'publish' : статус страниц - если false, то статус не учитывается (например для черновиков).