20 окт. 2014 г., 5:41

Как сделать многостраничный ресурс в Modx Revo?

Здравствуйте коллеги! Возникла необходимость загружать многостраничные методички на сайт. И столкнулся с такой проблемой, ни как не могу найти, каким образом сделать в Modx Revo многостраничный ресурс. Буду благодарен за любые советы.
Может, вам пригодится что-то подобное?
А вообще, было бы здорово реализовтаь подобный модуль:
Допустим, вам необходимо хранить большое количество текстовых символов и выдавать по запросу пользователя их определенный диапазон (страницы).
Условно, я вижу 3 способа хранить данные для поставленной задачи с позиции оптимизации и нагрузки: — файлом на сервере (допустим, .txt формат) — одной кучей текста в одной ячейки таблицы sql с последующей разбивкой php на страницы — дробить при добавлении текста на подстраницы и заливать каждую страницу отдельной записью в базе
Насколько я понимаю, первый способ имеет минус с позиции стилизации текста (нет возможности визуально добавлять изображения и стили), второй — необходимостью пользователю выгрузить всю книгу разом и уже после обрабатывать (и так каждый раз при переключении страницы), а третий — большим количеством записей в базе(с одной книги ~100-200 записей).
Поэтому, возможна следующей задумка:
При добавлении книги с админки предоставлять визуальный редактор, куда нужно выгрузить весь текст разом и, при желании, стилизовать. //ну или альтернатива: выбрать файл для загрузки
После нажатия кнопки сохранить, в базу поступает только информационная часть о книге (название, описание, иконка, id, ...), а сам текст книги один раз парсится (с анализом обрезания страницы до конца абзаца/предложения/слова и закрытости тегов) и каждая полученная таким образом страница обрамляется невидимыми тегами-комментариями вида
… после чего благополучно заливается на сервер в заданную папку с названием вида [id].txt и при запросе пользователем конкретной страницы книги только ищет в заданной записи соответствующий комментарий и выводит только часть текста заданной длины.
Ну и при редактировании книги, админка заново запрашивает весь файл и его можно легко редактировать дальше.
Т.е. вся нагрузка уходит с пользователя и базы на файловую систему (нагрузка минимальна) и в момент сохранения документа.
P.s. буду рад услышать любые За и Против данного метода и возможные способы реализации.
упс, вырезался тег:
..вида
Похоже, даже через тег code режется строка с закоментированным участком..)
Да, пока не идеально обрабатывается посылаемый код. Тег <4code> не стоит передовать внутри такого же кода. Или на гистхаб листинги выкладывайте.
Спасибо Максим. PageBreaker - похоже решение моей проблемы
Плагин добавляет 4 кнопочки на панель редактора.
Ручная разбивка. Выставляет разделитель в месте, где сейчас стоит курсор. Автоматическая разбивка через указанное количество символов. Автоматическая разбивка через каждые 2000 символов. Очистка разделителей
Пока для меня этого вполне достаточно, дальше буду смотреть.
А вообще, было бы здорово реализовтаь подобный модуль:
Тоже подумывал об этом для загрузки, например, статических ресурсов.

Добавить комментарий