Вход для клиентов и партнеров
в начало сайта
Партнерская программаОнлайн демоСкачатьКарта сайта
 

Регламент
Документация
Часто задаваемые вопросы (FAQ)
Решения типовых вопросов
Форум поддержки
Библиотека разработчика

Посмотрите демо-ролики и убедитесь в том, что "Twilight CMS" очень удобна в управлении, понятна и проста.

Бесплатно скачайте "Twilight.Basic", установите на своем компьютере и изучите систему более детально.

Если вам нужно установить "Twilight CMS" на существующий сайт или разработать новый - обращайтесь в отдел интеграции.

 

Ваше имя
Ваш Email
Вопрос
Twilight.basic
  • Узнайте больше
  • Сравните версии
  • Twilight.selection
  • Узнайте больше
  • Сравните версии
  • Twilight.evolution
  • Узнайте больше
  • Сравните версии
  •  
    Главная // Библиотека разработчика // Справочники // Макроподстановки //

    Paginator


    Назначение

    Разбивает длинный текст на страницы и автоматически формирует постраничную навигацию.

    Ключи

    source Строка текста, которую макрос будет разбивать. Многострочные строки обязательно должны быть заключены в кавычки.
    pagesize Число, минимальный размер страницы в байтах, куда включаются и HTML тэги. Реально размер страницы будет всегда чуть больше, за счет поиска ближайшего закрывающего тэга.
    windowwidth Число, обозначающее количество ссылок на страницы, отображаемое на экране в pagenavigator. Например, если текст разбивается на 100 страниц, то выводить 100 ссылок на экран бывает неудобно. Можно задать 10, тогда лишние ссылки будут спрятаны. По умолчанию значение равно 5.
    allowed_tags

    Строка, перечисление тэгов через символ "|" которые система расценивает как конец абзаца. По умолчанию ключ имеет значение "A|OL|UL|P|SPAN|DIV|H1|H2|H3|H4|H5|H6|TABLE".

    Комментарии

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

    Навигатор всегда находится сразу под текстом и выделяется тэгом <P>. На текущий момент навигатор не имеет в себе каких-либо текстов (типа "Страницы: "), только номера страниц в виде ссылок. Стиль навигатора можно задать через CSS класс.

    Алгоритм работы крайне прост - текст бьется по закрывающим тэгам, которые перечислены в allowed_tags, после чего отдельные абзацы сшиваются в страницы пока размер текста не превысил заданное в pagesize значение. Обратите внимание, что подобный алгоритм обладает недостатками, так, например, в строке вида

    <B><I>Текст</I></B>

    при использовании в качестве разрешенных к резке тэгов и I и B, при определенных обстоятельствах может быть разрезан как

    Конец одной страницы: <B><I>Текст</I>

    Начало следующей: </B>

    В подобных ситуациях разработчик может только задать некоторые правила для людей, которые готовят тексты на сайт. Например, определить тэг B как разрешенный к резке текста по нему, а I - как запрещенный, но при этом обязать контент-менеджера всегда вставлять теги I внутрь B, а не наоборот. В реальной жизни для данного конкретного примера это, конечно, довольно сложновыполнимо, но показанный принцип все же может быть использован для разрешения некоторых ситуаций. Либо, разработчик может запретить резать по B и I, и настроить макрос резать только целыми абзацами по P, H1, SPAN, DIV и так далее, требуя от контент-менеджеров использования именно этих тэгов для оформления предложений и абзацев.

    Примеры

    Пример разбиения текущей страницы на блоки по 10000 байт

    $Paginator[source: "$Content$"; pagesize: 10000; allowed_tags: B|STRONG|A|I|EM|U|OL|UL|P|SPAN|DIV|H1|H2|H3|H4|H5|H6|TABLE; windowwidth: 10]$

    « к списку макроподстановок

    версия для печати

     
    © 2003-17 Страта Технологии (создание сайтов, разработка cms), Twilight CMS in english.
    Наш адрес: Москва, пр. Маршала Жукова д.51
    Тел.: (495) 222-6436, E-mail: , карта сайта, условия использования информации о CMS
    Звоните через Skype:  

    Реклама: