Бесплатная CMS для вашего сайта Разумная альтернатива WordPress

mso_get_pages() - получение записей

09-11-2008Reading time ~ 3 min.Roadmap 20829

Функция 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-запрос. Данная функция должна быть подобна msosql_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, то статус не учитывается (например для черновиков).

Примеры использования mso_get_pages() можно посмотреть в default-шаблоне в файлах каталога type.

Related Posts