Отображение смайлов в различных информерах

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 15 июня 2014 в 06:48
Приветствую, я тут новенький — поэтому извиняюсь если данный вопрос (и последующие, в соседних темах) уже обсуждались...

Вопрос в следующем — почему при отображении ленты активности, новых сообщений на форуме, содержимого модуля "Последние комментарии" смайлы не выводятся? Т.е. если сам комментарий содержит и текст и смайлы, то при выводе в вышеуказанных информерах отображается только текст. Соответственно, если текст комментария состоит только из одного смайла, то информер выглядит глупо.

Прикладываю скриншоты для демонстрации — пример комментария содержащего только смайл при отображении на форуме и в ленте активности.
Прикрепленный файл
feedActive_q2erf.png 8 Кб
#2 15 июня 2014 в 09:08
А с других модулей выводятся смайлы7
#3 15 июня 2014 в 12:34

А с других модулей выводятся смайлы7

Lora
Нет, всегда только текст. Для всех модулей.
#4 15 июня 2014 в 16:11
Походу этого и не предусмотренно.Лично я не нашёл упоминания о смайлах в данном модуле. Можно допилить впринципе, если сильно надо. Модуль mod_action.
#5 15 июня 2014 в 18:20

Вопрос в следующем — почему при отображении ленты активности, новых сообщений на форуме, содержимого модуля "Последние комментарии" смайлы не выводятся?

Jack Sowyer
Потому что так задумано. В модулях выводится просто текст, без форматирования и картинок.
#6 16 июня 2014 в 02:57
Fuze, спасибо за подтверждение. Я в чем подводные камни такого жесткого решения? Могут поломаться шаблоны?
Насчет обычной графики я в принципе согласен, но смайлы хотелось бы видеть…
#7 16 июня 2014 в 05:31
Если брать модуль комментариев, в нем есть строка:
  1. {$comment.content|strip_tags|truncate:90}
Если убрать чтобы вышло
  1. {$comment.content|truncate:90}
— отобразятся смайлы.
По форуму аналогично
  1. {$thread.last_msg_array.content_html|strip_tags|truncate:200}
— можно убрать подобное.

НО!!! Тогда не обрабатываются ВВ-теги в модулях

, и вместо слов получаем "..." ничего. Т.е., надо ковырять функцию strip_tags, дабы она пропускала смайлы. Но как — без понятия) Хотя это должно быть проще, чем в каждый модуль дописывать что-то.
#8 16 июня 2014 в 07:20
scanread, спасибо за наводку, поковыряю на досуге… но сперва дождемся ответа от Fuze. Может он сразу скажет, что включение отображения смайлов влечет проблемы, несовместимые с жизнью laugh
#9 16 июня 2014 в 09:11
То что есть сейчас это наиболее простой и логичный (если не единственный) способ обеспечить более-менее внятный вывод разношерстной информации. В качестве эксперимента и чтобы лучше понять суть можете временно переписать модификатор strip_tags и посмотреть что будет. То есть открыть файл modifier.strip_tags.php, закомментировать все что там есть и дописать туда примерно следующее:
  1. function smarty_modifier_strip_tags($string){
  2. return strip_tags($string, '<img>');
  3. }
#10 16 июня 2014 в 10:32
Jack Sowyer, сделать как сказал Pasha, но убрать |truncate:200, иначе могут быть незакрытые теги.

Я в чем подводные камни такого жесткого решения? Могут поломаться шаблоны?

Jack Sowyer
Все очевидно. В модуле выводится часть комментария. Чтобы корректно обрезать текст, нужно избавиться от html тегов (strip_tags).

Насчет обычной графики я в принципе согласен, но смайлы хотелось бы видеть...

Jack Sowyer
Смайлы это разве не изображения?)
#11 16 июня 2014 в 11:21

Смайлы это разве не изображения?)

Fuze
я имел в виду, что смайлы — предсказуемого размера, а обычне картинки могут быть и 1000x1000px, что явно будет смотреться вызывающе в информере, который сам по себе занимает не очень много места на странице…
#12 16 июня 2014 в 13:11
Спасибо за помощь, включил вывод тэга IMG, понаблюдаю в будущем над тем, что творят пользователи… может и выключу потом, если будут проблемы...

Жаль, что то же самое нельзя провернуть с лентой активности. 😥
#13 23 июня 2014 в 04:12
Закрываем тему
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.