Пагинация + Содержание статьи

Аватар пользователя medium

Есть массив объемных статей. В текстах статей есть подзаголовки (h2, h3). Необходимо разбить текст ноды на страницы любым модулем типа (Paging, Smart paging, Pagination и пр.) и вывести блок «Содержание статьи» с ссылками на подзаголовки. Все опробованные модули вывода содержания (Table of contents) выводят заголовки только текущей страницы, а не всех страниц пагинированного текста ноды.
Может кто-нибудь сталкивался с подобной проблемой, подскажите куда копать?

Ключевые слова:
Тип материала:
Версия Drupal:
0 Спасибо

Комментарии

Аватар пользователя medium
medium 3 недели назад

Спасибо за совет. Похоже, это единственный вариант, хоть задача и казалась банальной )

0 Спасибо
Аватар пользователя ХулиGUN
ХулиGUN 3 недели назад
medium написал:
Похоже, это единственный вариант, хоть задача и казалась банальной )

Не вижу ничего банального в ней. Банально, это когда у Вас нода "Страницы" со связью один к одному к ноде-контейнеру. А тут у вас сплошной текст, который нужно разбить логически на страницы и всё это делать на лету ибо никакой структуры в бд не предусмотрено для хранения разбивки оного. Даже работа того же smart_paging сводится к тому, что в текст внедряются раздели по которым строка превращается в массив и указатель страницы является ключом этого массива. Решение же Вашей задачи либо из "страниц" делать отдельные ноды(тогда с заголовками никаких проблем), либо писать кастомный модуль, в который впиливать какой нить html парсер для создания Вашего Table Contents, но в таком случае открытие ноды будет далеко не быстрой задачей

0 Спасибо
Аватар пользователя VasyOK
VasyOK 3 недели назад

Панк вариант решения проблемы (наброски).
1) В каждой статье на заголовках делаем номерные классы типа
<h2 class="anchor_1">
можно через поиск и замена в БД, можно еще как-то.
2) создаем поле, в которое идут только теги заголовков и выводим это поле выше чем содержание статьи.
Как сделать - смутно представляю.

0 Спасибо