Обрезание тизеров на морде

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

Аватар пользователя dyp@drupal.org dyp@drupal.org 20 августа 2006 в 1:07

Проблема:
На сайте работают блоги. В определенном месте на морде выводится список n последних записей в блогах с тизерами. Размер тизера может быть черезмерно большим вклюать в себя картинки максимально допустимого размера в том числе и множество картинок. Использование штатного ограничения на размер тизера не помогает т.к. лего обходиться использованием --break-- и не убирает картинок из тизера. Это рушит дизайн первой страницы. На странице mysite.ru/blog тизеры могут быть любого размера.
Задачи:
1. Вырезать картинки из тизера.
2. Ограничеть его размер на 200 символами независимо от использования --break--.
Решения:
1. В шаблоне node-blog.tpl.php используем фильтр:
<?php print filter_xss($content); ?>
Вроде как работает.
2. Требуеться помощь зала.

Комментарии

Аватар пользователя moonman moonman 20 августа 2006 в 10:18

Так в админке же вроде на тизер можно выставлять любой лимит (я выставил на 600 символов).
И —break— по идее можно просто выкинуть, если юзеры его юзают неразумно.
У меня лично режется очень грамотно - пока не было замечено никакой фигни, до бервого абзаца.
И потом уже есть статистика что стаью-блог посещают в десятки раз больше если в тизере есть картинка, на неё "клюют" охотнее.

А вот сделать чтобы большая картинка становилась в тизере маленькой - вот это было бы круто.

Аватар пользователя moonman moonman 20 августа 2006 в 16:54

Не знаю, но у меня ещё ниразу никто не юзал брейк, всё режется идеально.
Если как ты говоришь его кто-то юзает так что тизер становится большим - то можно выкинуть и довериться автоматике Smile

Аватар пользователя dyp@drupal.org dyp@drupal.org 20 августа 2006 в 23:38

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

Аватар пользователя moonman moonman 21 августа 2006 в 0:45

Ну-ну... Smile
Проблем так много, что их можно решать всю жизнь... Smile
А вообще на фоне того, что юзеры не могут войти в систему - это конечно всё копейки. :))))))))

Аватар пользователя dyp@drupal.org dyp@drupal.org 21 августа 2006 в 13:23

Вобщем сделал я так. Создал новый модуль в который скопировал функцию node_teaser. Из нее вырезал все что относиться к -—break—- и переделал немного логику обрезания тизеров, чтобы резал по предложениям. Хотя я так и не понял как он работает до конца. При установленном лимите в 200 символов, есть тизеры по 280 символов.

Аватар пользователя moonman moonman 21 августа 2006 в 15:53

Ну так правильно. Если он будет железно резать на 200 то будет обрезаться на полуслове. А нафига это надо?
Он режет с учётом твоего параметра на 200 и с учётом до следующего абзаца.
Это очень хорошо.
Поэтому я тебе и говорю чё грузиться с брейком, когда он нафиг не нужен - всё и так гуд.

Аватар пользователя dyp@drupal.org dyp@drupal.org 21 августа 2006 в 17:15

логика у него такая что он в пределах диапазона ищет сначала тэг р потом br точки воскл знаки и т.д. если ничего нет, то режет тупо по размеру. но все это должно быть в пределах 200 знаков. откуда 288.
2AloneDemo
вы просто душка

Аватар пользователя Natalie Natalie 21 августа 2006 в 18:35

280 - это тогда, когда абзац больше 200 знаков.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя emzi emzi 22 августа 2006 в 17:00

при откусывании по [break] режутся параграфы, блоки, и т.п. разметка. Часто из-за этого "едет" вся страница. Как избежать этой проблемы?