December 22, 201114 yr Делал для себя, все желающие могут переделать.открываем public\js\shoutbox.jsспускаемся в самый низ видим там такие строчки://Event.stop(); } });заменяем все это действо на://Event.stop(); }, /* * Insert Nickname to editor */ addTextToEditor: function(text) { var val = ''; if (text == null) { return false; } if ( ipshoutbox.global_on ) { $('shoutbox-global-shout').focus(); ipshoutbox.insertAtCursor(text); } else { ipb.textEditor.getEditor().insert(text, false); } } });сохраняем заливаем, дальше идем admin\applications_addon\other\shoutbox\xml\shoutbox_root_templates.xmlоткрываем. и топаем в строку 496в той строчке видим:<if test="$this->settings['shoutbox_show_photos']"><td style='width: 1%; white-space: nowrap;'>{$d['photo']}</td></if> заменяем на:<if test="$this->settings['shoutbox_show_photos']"><td style='width: 1%; white-space: nowrap;'><a onclick='return ipshoutbox.addTextToEditor("[b]{$d['members_display_name']}, [/b]");'>{$d['photo']}</a></td></if>перекешируем шаблоны и бинго!проделано было в 3.2.3версия shoutbox 1.2.5 Edited December 22, 201114 yr by Fil
December 22, 201114 yr Author обновился до 1.2.6 во втором файле строчка под номером 518 полет нормальный
December 29, 201114 yr Author @Fil, А на 3.1.4 такое возможно сделать (чат - 1.1.3)да, конечно, если есть картинка в чате, то тоже самое можно проделать
January 1, 201214 yr да, конечно, если есть картинка в чате, то тоже самое можно проделатьНеполучилось у меня...
January 7, 201214 yr Author Неполучилось у меня...чем не получилось ? чего делали ? скорее всего не правильно вставили первую строчку, там нечаянно слепилось(строчка не работает ибо за комментировано) сейчас попробую вставить так как должно быть: //Event.stop(); }, /* * Insert Nickname to editor */ addTextToEditor: function(text) { var val = ''; if (text == null) { return false; } if ( ipshoutbox.global_on ) { $('shoutbox-global-shout').focus(); ipshoutbox.insertAtCursor(text); } else { ipb.textEditor.getEditor().insert(text, false); } } });
January 7, 201214 yr скорее всего не правильно вставили первую строчку, там нечаянно слепилось(строчка не работает ибо за комментировано) сейчас попробую вставить так как должно быть:Спасибо, теперь получилось!
January 12, 201214 yr Я тоже для себя такое делал. Выложу свой вариант, если ТС не против.Для Shoutbox 1.2.7 (да с любым 1.2.х должно работать).Исходные файлы править не будем, все через админку. 1. Заходим в редактирование стиля и ищем в шаблонах категорию skin_shoutbox_hooks, открываем шаблон hookGlobalShoutbox. Добавляем под строкуipb.shoutbox.shoutboxGLOBAL = true;следующий код:function insertNick(nick) { document.getElementById('shoutbox-global-shout').value += '[b]'+nick+'[/b], '; }2. В категории skin_shoutbox открываем шаблон shout_row. Ищем код{IPSMember::makeProfileLink($d['_members_display_name'], $d['member_id'], $d['members_seo_name'])}И заменяем его на такой:{IPSMember::makeProfileLink($d['_members_display_name'], $d['member_id'], $d['members_seo_name'])} <img onclick="insertNick('{$d['members_display_name']}');" src="{$this->settings['img_url']}/shoutbox/plus.png" alt="" title="Нажмите, чтобы обратиться по нику" class="insert_nick" />При этом вам понадобиться изображение plus.png (ну, назвать можете по-своему, конечно), которое вы положите в папка вашего скина/shoutbox/ — по клику на нем будет вставляться ник. У меня картинка такая, используйте, если вам подойдет: Можно также задать нужные вам CSS-свойства, для этого используйте класс .insert_nick (я задал cursor: pointer).
January 13, 201214 yr Я тоже для себя такое делал. Выложу свой вариант, если ТС не против.Для Shoutbox 1.2.7 (да с любым 1.2.х должно работать).Исходные файлы править не будем, все через админку. Попробовал для 1.2.5 - не работает. Поправил, перестроил кеш, выводится плюс, скрипт не отрабатывает. В 1.2.5 нет ipb.shoutbox.shoutboxGLOBAL = true; есть shoutboxGLOBAL = true;
January 13, 201214 yr Попробовал для 1.2.5 - не работает. Поправил, перестроил кеш, выводится плюс, скрипт не отрабатывает. В 1.2.5 нет ipb.shoutbox.shoutboxGLOBAL = true; есть shoutboxGLOBAL = true;В этом решении нет зависимости от версии. Добавляется своя картинка, на нее вешается свой триггер, который запускает свою функцию.Та строка, которой, как вы говорите, нет, не важна. Просто сверху там есть место, куда удобно вставить эту функцию. А под или над — всё равно.
January 31, 201214 yr @Fil, в 1.2.7 не получается. //Event.stop(); } });после этого там много ещё чего,а что конкретно заменять?
February 16, 201214 yr Author @Fil, в 1.2.7 не получается. //Event.stop(); } });после этого там много ещё чего,а что конкретно заменять?начиная с этой строчки все что ниже меняем на то, что я написал. Если не получиться скиньте мне ваш файлик, я поменяю и обратно вам его пришлю.
Делал для себя, все желающие могут переделать.
открываем public\js\shoutbox.js
спускаемся в самый низ видим там такие строчки:
заменяем все это действо на:
//Event.stop(); }, /* * Insert Nickname to editor */ addTextToEditor: function(text) { var val = ''; if (text == null) { return false; } if ( ipshoutbox.global_on ) { $('shoutbox-global-shout').focus(); ipshoutbox.insertAtCursor(text); } else { ipb.textEditor.getEditor().insert(text, false); } } });сохраняем заливаем, дальше идем
admin\applications_addon\other\shoutbox\xml\shoutbox_root_templates.xml
открываем. и топаем в строку 496
в той строчке видим:
<if test="$this->settings['shoutbox_show_photos']"><td style='width: 1%; white-space: nowrap;'>{$d['photo']}</td></if>заменяем на:
<if test="$this->settings['shoutbox_show_photos']"><td style='width: 1%; white-space: nowrap;'><a onclick='return ipshoutbox.addTextToEditor("[b]{$d['members_display_name']}, [/b]");'>{$d['photo']}</a></td></if>перекешируем шаблоны и бинго!
проделано было в 3.2.3
версия shoutbox 1.2.5
Edited by Fil