2009-07-31 6 views
2

Проект разработан с использованием CakePHP.Пагинация для документа с переменным содержанием

Страница из новости статьи.

Pagination просто, если вы хотите вернуть (x) количество записей на страницу или (x) количество изображений на страницу или даже ограничить количество слов/абзацев/символов, но что, если вы хотите разбивать страницы на визуальная длина страницы?

Проблема возникла из-за того, что некоторые статьи содержат большое количество текста и большое количество изображений. Я хотел бы знать, как вы собираетесь разрабатывать разбивку на страницы, когда контент полностью динамичен. Под этим я имею в виду, что это может быть 100% текст, текст и 3 изображения, 10 картинок и т. Д.

Код оценен, но даже концепция была бы полезной, спасибо!

+0

Итак? как вы его реализовали? –

ответ

0

Я не знаю, cakephp, но, как насчет подсчета количества символов?

Предположим, что у вас есть 10.000 символов в статье, и вы решили, что каждая страница должна содержать не более 500 слов. Учитывая среднюю длину слова в 5 символов, вы переходите к символу 500 * 5 = 2500, ищите следующий заключительный абзац и считайте эту точку меткой следующей страницы. Вы можете использовать ту же концепцию с изображениями, но с учетом высоты изображений ...

Звучит неплохо?

+1

Вы также можете рассмотреть среднюю площадь, которую использует персонаж, поскольку вы можете узнать точную область, в которой используются ваши изображения, и знать количество «площади», которое должна использовать каждая страница. Если вы вычтите область изображения из нужной области, затем разделите ее на область символов, вы будете знать (примерно), сколько символов вы хотите. – deizel

0

Потому что мы знаем ширину страницы и высоту изображения, и нам удалось приблизиться к высоте пикселя текста.

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

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

Смежные вопросы