Как убрать pop up в личных сообщениях

#1 25 марта 2016 в 21:44
Первая ветка.
Как убрать поп ап окна из личных сообщений, и вернуть к тому что было в прежних версиях и к тому что сейчас на офф сайте.
Пробовал копировать части кода отвечающие за отправку сообщений из 1.8 на 1.10.3 но совсем перестает работать.
Конечно буду еще искать и пробовать, но возможно кто то уже занимался этим и может привести пример что на что заменить.
В основном хочу это сделать для мобильной версии для тех кто с Opera Mini у меня это около 10%.
Кстати заходил на этот сайт с опера мини j2me/midp новые иконки которые font awesome выглядят как китайские иероглифы)
#2 25 марта 2016 в 22:17

Кстати заходил на этот сайт с опера мини j2me/midp новые иконки которые font awesome выглядят как китайские иероглифы)

Нил™
Это одна из особенностей шрифтовых иконок, нужно мириться))

По теме: когда-то проскакивала такая же тема но для двойки, я в ней показал пример как выводить сообщения не в модальном окне. Посмотрите в ней, возможно чем то поможет, думаю механизм примерно одинаковый будет.
#3 25 марта 2016 в 22:22

1. /templates/_default_/components/com_users_messages.tpl

  1. <a href="javascript:void(0)" class="new_link" onclick="users.sendMess(0, 0, this);return false;" title="{$LANG.NEW_MESS}:"><span class="ajaxlink">{$LANG.WRITE}</span></a>
заменить на

  1. <a href="/users/0/sendmessage.html" class="new_link" title="{$LANG.NEW_MESS}:">{$LANG.WRITE}</a>

2. /components/users/frontend.php

убрать строки в блоке, начинающимся наif ($do=='sendmessage'){ :

  1. if($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') { cmsCore::halt(); }
  1. $inPage->setRequestIsAjax();
  1. cmsCore::jsonOutput(array('error' => false,
  2. 'html' => ob_get_clean()
  3. ));
В этом же блоке заменить (встретится 2 раза)

  1. cmsCore::jsonOutput(array('error' => true, 'text' => $_LANG['ERR_SEND_MESS']));
на

  1. cmsCore::addSessionMessage($_LANG['ERR_SEND_MESS'], 'error');
  2. cmsCore::redirectBack();
  1. cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['SEND_MESS_OK']));
на

  1. cmsCore::addSessionMessage($_LANG['SEND_MESS_OK'], 'success');
  2. cmsCore::redirectBack();
  1. cmsCore::jsonOutput(array('error' => false, 'text' => sprintf($_LANG['SEND_MESS_ALL_OK'], sizeof($count))));
на

  1. cmsCore::addSessionMessage(sprintf($_LANG['SEND_MESS_ALL_OK'], sizeof($count)), 'success');
  2. cmsCore::redirectBack();
  1. cmsCore::jsonOutput(array('error' => false, 'text' => $success_msg));
на

  1. cmsCore::addSessionMessage($success_msg, 'success');
  2. cmsCore::redirectBack();

3. /templates/_default_/components/com_users_messages_add.tpl

Добавить тег h1 с заголовком.

Перед закрывающим тегом </form> добавить

  1. <input type="submit" name="submit" value="Отправить" />
после строки

  1. $('.ajax_autogrowarea').focus();
добавить

  1. $('#send_msgform').on('submit', function(){
  2. to_id = $('#user_id option:selected').val();
  3. to_all = $('input[name=massmail]:checked').length;
  4. to_group = $('input[name=send_to_group]').val();
  5. if (to_all==1 || to_group==1){ to_id = 1; }
  6. $(this).attr('action', '/users/'+to_id+'/sendmessage.html').submit();
  7. return false;
  8. });
НЕ проверял, но ход действий такой.
#4 25 марта 2016 в 22:50

Посмотрите в ней

Val
Спасибо. не пришлось.) Удачный вечер...

НЕ проверял

Fuze
А я проверил. Пока всё работает правильно)

  1. cmsCore::jsonOutput(array('error' => true, 'text' => $_LANG['ERR_SEND_MESS']));
почему то у меня один раз только нашлось в файле (1.10.3) в остальном точно согласно инструкциям.

Большое спасибо))
#5 25 марта 2016 в 22:52

В этом же блоке заменить (встретится 2 раза)

Fuze
Второй раз есть с false вместо true

  1. cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['ERR_SEND_MESS']));
#6 25 марта 2016 в 22:58

Второй раз есть с false вместо true

Нил™
видимо ошибка у вас. заменяйте эту строку.
#7 25 марта 2016 в 23:07
Fuze,
ОК. Спасибо за помощь.
#8 4 июля 2017 в 14:34
А я наоборот не могу найти кнопку отправки личных сообщений. Компонент включен, всё разрешено.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.