Добавляем в init.php данные строки:
После чего как видите в этом форуме, изображения выводятся:
Однако при многократном добавлении картинок, упираемся в ограничения сообщений форума в 64000 символов
Дальнейшие изменения рекомендуется делать только если вы не планируете держать форум "обновляемым"
или готовы впоследствии после каждого обновления приводить все к такому виду
Потребуется поменять размер SQL таблицы POST_MESSAGE с TEXT на MEDIUMTEXT
для этого можно воспользоваться инструкциейhttp://s-alpha.ru/forums/?PAGE_NAME=read&FID=4&TID=14&TITLE_SEO=14-ustanovka-phpmyadmin-na-bitrixvm
и изменить скрипт ограничивающий это ./bitrix/components/bitrix/forum.post_form/templates/.default/script.js
учитывая что скрипт находится в пространстве имен bitrix рекомендуется сделать копию в свое пространство имен
потребуется поменять MessageMax = 64000;
на нужное вам значение например
MessageMax = 164000;
Более элегантного способа пока найти не удалось, т.к как поменять данную переменную не задев файла в скрипте пока не понятно, если кто найдет решение пишите
Код |
---|
AddEventHandler("main", "OnEndBufferContent", "OnEndBufferContentHandler"); function OnEndBufferContentHandler(&$content) { $content = preg_replace("/\[img\](data:image.*?)\[\/img\]/i", '<img src="\\1" border="0" />', $content); } |
Однако при многократном добавлении картинок, упираемся в ограничения сообщений форума в 64000 символов
Цитата |
---|
Неприятно, копаем дальше... |
Дальнейшие изменения рекомендуется делать только если вы не планируете держать форум "обновляемым"
или готовы впоследствии после каждого обновления приводить все к такому виду
Потребуется поменять размер SQL таблицы POST_MESSAGE с TEXT на MEDIUMTEXT
для этого можно воспользоваться инструкцией
Код |
---|
ALTER TABLE `b_forum_message` CHANGE `POST_MESSAGE` `POST_MESSAGE` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL; |
и изменить скрипт ограничивающий это ./bitrix/components/bitrix/forum.post_form/templates/.default/script.js
учитывая что скрипт находится в пространстве имен bitrix рекомендуется сделать копию в свое пространство имен
потребуется поменять MessageMax = 64000;
на нужное вам значение например
MessageMax = 164000;
Код |
---|
validate : function() { this.editor.SaveContent(); var errors = "", Message = this.editor.GetContent(), MessageLength = Message.length, MessageMax = 64000; if (this.form.TITLE && (this.form.TITLE.value.length <= 0 )) errors += BX.message('no_topic_name'); if (MessageLength <= 0) errors += BX.message('no_message'); else if (MessageLength > MessageMax) errors += BX.message('max_len').replace(/#MAX_LENGTH#/gi, MessageMax).replace(/#LENGTH#/gi, MessageLength); |
Более элегантного способа пока найти не удалось, т.к как поменять данную переменную не задев файла в скрипте пока не понятно, если кто найдет решение пишите
Изменено: Александр Борисов - 05.02.2020 16:18:40