Битрикс: замена смайликов в форуме


ИМХО довольно штатная задача, причём в админке битрикса в сервисах эта возможность присутствует, но как оказалось, не всё так просто !

ИТАК:
Поменял я в админке стандартный смайл (был icon_smile.gif) на колобка – вроде всё путём, поменялось – захожу обратно на форум, делаю новый пост – всё ОК – смайл новый.

НО !!! смотрю старые записи – облом, колобок не появился.
А причина в том, что отображается в форуме b_forum_message.POST_MESSAGE_HTML которая получается преобразованием POST_MESSAGE (сообщение которое ввел юзер) в подготовленное для отображения. Т.е. все замены смайлов происходят в момент постинга.
Тут то и лежит наш
/bitrix/images/forum/smile/icon_smile.gif
а не новый
/bitrix/images/forum/smile/call_o_bog_smile.gif

Решения два – сложное – перепарсить заново все сообщения, либо простое 🙂 – записать новые смайлы прямо поверх старых (не редактированием смайла из админки, а файловой операцией – либо из админки, либо ftp, либо ssh и пр…)

Я выбрал второе. Правда пришлось потратить минут 10 на сопоставление смайлов и запись их под тем же именем, что и в Битриксе.

P.S.
Вообще, чё то они забросили развитие форума, жаль … Надеюсь реабилитируются, т.к. сквозная авторизация на портале – удобно, и прикручивать сторонний форум по этой причине совсем не хочется.
Либо нужно как то продумывать взаимную авторизацию “сторонний форум” <-> “битрикс”.

P.P.S.
Ещё забыл момент – новые смайлы покрупнее и не по-формату.
В форуме вроде без проблем отобразились, а вот в админке – некоторые косовато.
В принципе пофиг, но я решил поправить –
/bitrix/modules/forum/admin/smile.php
поиск по “width”
в найдённой строчке убираем все упоминания “width” и “height”
вуаля

P.P.P.S.
после очередного битрикс обновления к смайлам начал добавлсяться width и height аттрибуты
пришлось убрать их тут
/bitrix/modules/main/classes/general/textparser.php


Один комментарий на «“Битрикс: замена смайликов в форуме”»

  1. после очередного битрикс обновления к смайлам начал добавлсяться width и height аттрибуты
    пришлось убрать их тут
    /bitrix/modules/main/classes/general/textparser.php

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *