Вывод анонсов через views - ограничение по высоте.

Главные вкладки

Аватар пользователя Тимофей Тимофей 14 апреля 2015 в 16:11

Добрый день!

Через views выводится список сообщений в виде анонсов с ограничением в 600 символов. Но есть 2 "проблемные ситуации":
1. Много картинок в начале сообщения - пост не "обрезается" и растягивается.
2. Много коротких строк - то же самое.

Можно как-то еще ограничить "высоту" содержимого?

P.s. пока в голову только ручное размещение "разрыва" приходит, но это как-то не правильно..

Комментарии

Аватар пользователя kirill_dan kirill_dan 14 апреля 2015 в 17:06

Выбираете в настройках выводимого поля форматтер - plan text. Чуть ниже открываете закладку "Rewrite result" (Перезаписать результат). Отмечаете Trim this field to a maximum length (обрезать поле). Указываете в текстовом поле количество символов для обрезания. Отмечаете Trim only on a word boundary (обрезать только на границе слов). И отмечаете Add an ellipsis (поставить многоточие). Все. Теперь будет выводиться всегда нужное количество символов (которое вы указали в текстовом поле).

Аватар пользователя Тимофей Тимофей 24 апреля 2015 в 10:16

Так когда текст - нет проблем.
Проблемы, когда изображения вместо текста или мало символов, но много строк.
Но пока что решил проблему кнопкой "разрезания текста" + пинанием людей, чтоб ее жали)

Аватар пользователя barist barist 24 апреля 2015 в 16:13

Для вьюса анонсов 600 символов это очень много,если это не обусловлено изначально дизайном. Достаточно не больше 200, тогда если есть в тексте body картинка, то она выведется одна и пару строчек по ней.

Аватар пользователя barist barist 24 апреля 2015 в 16:47

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

Аватар пользователя barist barist 24 апреля 2015 в 17:56

"ХулиGUN" wrote:
а ТС нужно чтобы все анонсы примерно одного размера были, выводились красиво... со ссылкой "читать далее"... А вы просто предлагаете изменить максимальное количество символов

В принципе да. Ограничение символов + css даст искомый результат. Некоторые пользователи могут выложить простынь из картинок. Все картинки одним max-height не ограничишь, так как в сравнении с анонсами без картинок смотреть это будет не очень, либо прикручивать masonry, поэтому придется ограничить колличество вывода картинок ( что легко решается ограничением символов), чтобы выводилась только одна и немного текста под ней. Тогда применение max- height станет более менее осмысленным.

Аватар пользователя kirill_dan kirill_dan 24 апреля 2015 в 18:51

Выводить в анонсе фотографии из боди - это вообще плохой тон! По уму нужно в тизере вырезать все html теги и выводить только текстовое описание. Тогда будет нормальный и логичный внешний вид. И не нужно себе мозги сушить.

Аватар пользователя kirill_dan kirill_dan 24 апреля 2015 в 18:54

"barist" wrote:
поэтому придется ограничить колличество вывода картинок ( что легко решается ограничением символов)

Это вы хорошо пошутили. Количество фоток без скрипта парсера вы не ограничите, если фотки вписаны в боди. А ограничение символов может вам побить какой-то тег. И в худшем случае поломается вся верстка!

Аватар пользователя kirill_dan kirill_dan 24 апреля 2015 в 18:57

"ХулиGUN" wrote:
Соглашусь. Однако это работа дизайнеров, решать как должен выглядеть тот или иной контент

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

Аватар пользователя kirill_dan kirill_dan 24 апреля 2015 в 22:29

ХулиGUN wrote:
"kirill_dan" wrote:
Без сомнения. Но когда дизайнер не работает в паре с разработчиком и рисует эллиптические страницы и овально квадратные элементы, а потом эту фантасмагорию утверждает заказчик и это попадает в самом конце к разработчику, то угадайте с одного раза, куда их пошлет разработчик?

Существуют разные методы разработки))) В позапрошлой моей конторе мы практиковали модель: Прототип->Дизайн->Вёрстка->Бекэнд. И была у нас наглухо отбитая верстальщица. Ей отдают макет, например, страницу со списком статей, она каждой статье присваивает свой id в виде собственного взятого из головы транслита и вся вёрстка строится от её этих id. Она отдаёт макет мне, я ей говорю, что так делать нельзя, потому что статьи могут быть разные... сегодня одни, завтра другие... и идентификаторы её не прокатят. Говорю переверстать всё в классы. Эта курица свой недотранслит засовывает в классы и отдаёт обратно вёрстку... Я потратил полтора ёбаных месяца, чтобы объяснить, что бекэнд не вкурсе её фантазий с названиями и в шаблон возвращаются массивы похожих объектов...

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

К сожалению, но такое сплошь и рядом. Я, например, вообще не понимаю, как можно вначале верстать, а потом программировать. Например, в Друпал я к каждому контент тайпу и ко всем вьюсам делаю свои персональные шаблоны. Все заворачиваю в свои враперы. Блок ноды одного типа обзываю, к примеру, id="full-node-article", а внутри все теги в своих классах. А потом уже верстаю. В последствии могу менять, что угодно на сайте и знаю, что верстка не упадет. А когда клиент мне приносил, типа готовый шаблон (набор html страниц с прикрученными классами) и говорил, что это уже фактически готовый сайт, просто надо быстренько Друпал к нему прикрутить, то я даже и не знал, как такому человеку объяснить, что он не в своем уме. Или знал одного верстальщика, которому я сотню раз говорил, не привязываться к авто генерируемым классам во вьюсах (типа view-class-title). Но все, как горохом об стенку. Любой чих, что-то добавил или убрал, и все, верстка сразу падала. Или подобные классы могут встречаться по всему сайту. Я поэтому и сам верстаю. Просто устал от постоянных разборок и работы на абы как.

Аватар пользователя kirill_dan kirill_dan 24 апреля 2015 в 23:59

ХулиGUN wrote:
Это специфика работы с инструментом. Для друпала, например правильней делать сначала бекэнд а потом уже заниматься вёрсткой... и по сути даже пофиг к каким классам привязываться, если это тема для конкретного сайта. Специфика в том, что друпал отдаёт уже готовые рендеры и тебе приходится либо "понять и простить" и смириться, либо альтерить всё и вся, переопределять все выводы... но зачем тогда друпал? Лично я больше работаю с фреймвоками, где нет готовых рендеров, только голая data, поэтому бекэнд проще делать после вёрстки

Прелесть Друпала не в рендере и авто классах, а в его гибкой масштабируемости, умении держать огромную нагрузку и большом количестве готовых решений, которые в крупном проекте экономят массу времени. Вынос мозга порой конечно страшный, возни немерено, но это лучше, чем писать все с нуля. А так как я еще маниакально педантичный, то все делаю сразу по уму. На что уходит часто больше времени. Но зато в будущем нет никаких проблем с масштабируемостью и наращиванию функционала. Вот еще очень желаю добраться до Симфони 2, тем более, что ядро восьмерки написано на нем. Но все времени не хватает. А вы каким фреймворком пользуетесь? И почему им?

Аватар пользователя kirill_dan kirill_dan 25 апреля 2015 в 0:22

"ХулиGUN" wrote:
Я юзаю Flask и Django, мне больше по душе питон за его локаничность))) Если что-то по-быстрому развернуть - Django, если нужен полный контроль, дотошность, использование какой-нить NoSQL бд, то Flask, и то сейчас и на Django можно без проблем работать с нереляционными бд, по крайней мере с MongoDB.

А если не секрет, то как пришли к этим фреймворкам? Да и к питону тоже? Ведь в мире столько всего, что сделать ставку на что-то не просто. Тем более, что сегодня что-то в тренде, а завтра умерло и забылось всеми.

Аватар пользователя kirill_dan kirill_dan 25 апреля 2015 в 13:31

"ХулиGUN" wrote:
Если что интересно, предлагаю всю полемику перенести лучше в скайп)))

Конечно интересно. А кинь мне свой скайп в личку пожалуйста. Тоже посматриваю в сторону питона. Давным давно я писал на С++, потом перешел на пыху. Но мне не хватает языка общего назначения, с полноценным интерпретатором, а не вечным запуском при обращении к скрипту и ограниченным временем жизни.

Аватар пользователя Тимофей Тимофей 22 мая 2015 в 19:30

"kirill_dan" wrote:
Выводить в анонсе фотографии из боди - это вообще плохой тон! По уму нужно в тизере вырезать все html теги и выводить только текстовое описание. Тогда будет нормальный и логичный внешний вид. И не нужно себе мозги сушить.

К слову, для моей ситуации вполне логичное решение, так как картинки в анонсе какой-либо важной роли не играют.