Плагин Pagecount

  • Плагин Pagecount предназначен для "умного" подсчета количества страниц на сайте под управлением движка Котонти, удовлетворяющих указанным требованиям. Разберемся с тем, как его использовать.

    Прежде всего, установим плагин.

    Теперь в нужном месте шаблона вставим вызов функции pagecount, который будет иметь примерно следующий вид:

    {PHP|pagecount('questions','','','', '1','')}

    Разберемся с параметрами:

    1. Раздел, в котором необходимо подсчитать страницы
    2. Белый список разделов, в которых необходимо подсчитать страницы (через точку с запятой)
    3. Черный список разделов, которые необходимо исключить при подсчете страниц (через точку с запятой)
    4. SQL условие
    5. Учитывать страницы в подразделах
    6. Имя языковой переменной для использования функции cot_declension

    Как это работает?

    Допустим, вам необходимо подсчитать количество страниц в разделе shop. Для этого используем следующий вызов:

    {PHP|pagecount('shop')}

    На выходе получим искомое целое число. Усложним задачу и подсчитаем количество страниц в разделах shop и special-offers:

    {PHP|pagecount('','shop;special-offers')}

    А как насчет всех страниц, кроме разделов system и news? Это просто:

    {PHP|pagecount('','','system;news')}

    При использовании плагина Pagecount учтите, что три первых параметра взаимноисключающие.

    Теперь попробуем подсчитать количество новостей в разделе news, учитывая новости, размещенные во всех его подразделах:

    {PHP|pagecount('news','','','', '1')}

    И, наконец, проделаем то же самое с использованием функции cot_declension:

    {PHP|pagecount('questions','','','', '1','News')}

    Если у Вас определена языковая переменная $Ls['News']:

    $Ls['News'] = "новость,новости,новостей";

    , то на выходе вы получите что-то вроде "635 новостей"

    Плагин Pagecount позволяет использовать SQL условия при выводе количества страниц. Это можно использовать, например, для показа количества страниц, опубликованных конкретным пользователем:

    {USERS_DETAILS_ID|pagecount('','','','page_ownerid = $this')}