Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Немного усовершенствовать чат Shoutbox

Добрый день!

 

Ребят, подскажите, как в чате shoutbox поле ввода текста и кнопки (скрин №1) перенести под чат (как на втором скрине)? Где копать? Спасибо.

 

post-54136-0-47640400-1425205274_thumb.jpg

Рекомендованные сообщения

  • Автор

Скрин №2:

 

post-54136-0-12997600-1425205456_thumb.jpg

В настройках: Shoutbox: Global

В настройках: Shoutbox: Global

Да. А конкретнее

 

Настройки: -> Hook: Global Shoutbox -> Global Shoutbox Look: Theme1 / Theme2

post-57438-0-59221300-1425211943_thumb.jpg

theme2

Изменено пользователем Атаман

theme2

Спасибо, но это было уточнение, а не вопрос :)

 

---------

 

Кстати, раз уж зашла тема об "усовершенствовании чата Shoutbox" :-)

 

Имеется такая идея: реализовать дополнительное окно (вкладку, чат-комнату) только для общения определенной группы пользователей (в идеале, конечно, просто мультиокна/вкладки).

Но не знаю в каком направлении двигаться:

- создать отдельную таблицу в БД (а если вкладок несколько сделать ?) ?

- или к сообщениям из отдельно взятой вкладки приаттачивать код-индентификатор, соответственно по нему и сортировать по окнам/вкладкам ?

Вроде есть такое дополнений, чат для администрации в боковом блоке.

Вроде есть такое дополнений, чат для администрации в боковом блоке.

Спасибо, нашёл какой-то Staffbox, он вроде. Но посмотрим, как будет работать. Хотелось, бы конечно на движке одного компонента и не плодить сущности. И две вкладки. На крайний случай сверстать вкладки: в одной Shoutbox, в другой Staffbox <_< . А потом еще надо бы поддержку чата в мобильной версии (как в стиле Customobile)... морока одна.

 

Ладно, если не пойдет, буду дальше крутить Shoutbox

  • Автор

Подскажите по теме, как из чата shoutbox удалить кнопки "Очистить" и "Обновить"?

Подскажите по теме, как из чата shoutbox удалить кнопки "Очистить" и "Обновить"?

Похоже, только удалив из шаблона:

 

Правка стиля -> skin_shoutbox_hooks -> hookGlobalShoutbox (это для глобального хука):

 

искать

<input type='button' id='shoutbox-clear-button'...

и

<input type='button' id='shoutbox-refresh-button'

 

Но зачем? Я бы удалил ВВ-коды (это всего лишь справка по ним, и пользы в глобальном хуке не вижу. Хук он для быстрых коротких сообщений. Кто захочет красиво оформить и использовать ВВ-коды, перейдет на вкладку Чат с полноразмерным редактором). Ну и "очистить" можно, раз мешает.

 

ПС:

Я так понимаю - из-за того, что не влазят в одну строку?

  • Автор

@Viktar83, да, именно из-за этого, перфекционист мать его :D

BB-коды если честно тоже надо удалить, они там вообще ни к месту. Кнопка "Удалить" вообще непонятно для чего, если можно всё очистить вручную...

А кнопка "Обновить" в моем случае лишняя, ибо у меня чат быстренько обновляется...

Но благодарю за ответ. Иска-искал до Вашего совета, но так и не нашел...

Ну как знаете )

Если не только для глобального хука, но и для основного чата - то там же в шаблонах skin_shoutbox все должно быть по идее...

 

А когда удалите все лишнее, может получиться так, что останется пустое место справа от кнопок. В таком случае можно растянуть поле ввода текста. Чуть позже выложу, если интересует (пойду гляну, как я это делал)...

  • Автор

@Viktar83, в общем удалил только ББ-коды... а что касается лишнего места, то у меня там его (справа) не так уж и много осталось. Но в идеале, конечно, желательно бы поле ввода растянуть на максимум, чтобы было идеально))

@Viktar83, в общем удалил только ББ-коды... а что касается лишнего места, то у меня там его (справа) не так уж и много осталось. Но в идеале, конечно, желательно бы поле ввода растянуть на максимум, чтобы было идеально))

Согласен. Тем более, если ширина у сайта не фиксированная. А к тому же у стандартного стиля она задана в %. Т.е. в зависимости от монитора может быть довольно широкой. И тогда уж точно будет пустое место справа. но мы ведь перфекционисты )) Поэтому:

 

1) из шаблона глобального хука удаляем ненужные более кнопки

 

Вот что было:

 

<input type='text' id='shoutbox-global-shout' size='70' class='input_text' />
<input type='button' id='shoutbox-submit-button' value='{$this->lang->words['shout']}' class='input_submit' />
<input type='button' id='shoutbox-clear-button' value='{$this->lang->words['clear']}' class='input_submit alt' />
<input type='button' id='shoutbox-refresh-button' value='{$this->lang->words['refresh']}' class='input_submit alt' />
<if test="$this->settings['shoutbox_allow_smilies']"> <input type='button' id='shoutbox-smilies-button' value='{$this->lang->words['smilies']}' class='input_submit alt' data-clicklaunch="populateSmilies" data-scope="shoutbox" /></if>
<if test="$this->settings['shoutbox_allow_bbcode']"> <input type='button' id='shoutbox-bbcode-button' value='{$this->lang->words['bbcode']}' class='input_submit alt' /></if>
<input type='button' id='shoutbox-myprefs-button' value='{$this->lang->words['my_prefs']}' class='input_submit alt' />

 

я удалил только кнопку "ВВ-коды"

 

Вот что осталось:

 

<input type='text' id='shoutbox-global-shout' class='input_text' />
<input type='button' id='shoutbox-submit-button' value='{$this->lang->words['shout']}' class='input_submit' />
<input type='button' id='shoutbox-clear-button' value='{$this->lang->words['clear']}' class='input_submit alt' />
<input type='button' id='shoutbox-refresh-button' value='{$this->lang->words['refresh']}' class='input_submit alt' />
<if test="$this->settings['shoutbox_allow_smilies']"> <input type='button' id='shoutbox-smilies-button' value='{$this->lang->words['smilies']}' class='input_submit alt' data-clicklaunch="populateSmilies" data-scope="shoutbox" /></if>
<input type='button' id='shoutbox-myprefs-button' value='{$this->lang->words['my_prefs']}' class='input_submit alt' />

 

 

2) оборачиваем кнопки и поле ввода в разные слои:

 

при этом поле ввода текста теперь смещаем вниз

 

<div id='shoutbox-right'>
<input type='button' id='shoutbox-submit-button' value='{$this->lang->words['shout']}' class='input_submit' />
<input type='button' id='shoutbox-clear-button' value='{$this->lang->words['clear']}' class='input_submit alt' />
<input type='button' id='shoutbox-refresh-button' value='{$this->lang->words['refresh']}' class='input_submit alt' />
<if test="$this->settings['shoutbox_allow_smilies']"> <input type='button' id='shoutbox-smilies-button' value='{$this->lang->words['smilies']}' class='input_submit alt' data-clicklaunch="populateSmilies" data-scope="shoutbox" /></if>
<input type='button' id='shoutbox-myprefs-button' value='{$this->lang->words['my_prefs']}' class='input_submit alt' />
</div>
<div id='shoutbox-left'>
<input type='text' id='shoutbox-global-shout' class='input_text' />
</div>

 

3) прописываем в CSS (ipshoutbox.css) следующие свойства (просто добавляем в конце):

 

#shoutbox-left { margin-right: 480px; }  /* сумма длин кнопок справа + отступы между ними - нужно будет просто подобрать */
#shoutbox-global-shout { width: 100%; }  /* текстовое поле должно быть растянуто на всю ширину родителя */
#shoutbox-right { float: right; }  /* слой с кнопками вправо */
#shoutbox-right input { width: 90px !important; }  /* тут я жестко задал длину для каждой из кнопок, иначе она зависела от вмещающего текста (названия) и могла быть непостоянной */

#shoutbox-shouts  { background: #FFFFFF !important; } /* по желанию */
table.shoutbox_table tr:nth-child(even) { background: #F6F6F6 !important;} /* это по желанию: чередование цвета полосок с сообщениями */
table.shoutbox_table tr:nth-child(odd) { background: #FFFFFF !important; } /* это по желанию: чередование цвета полосок с сообщениями */

 

4) Результат: при разной ширине поле ввода текста всегда растягивается на максимум

post-57438-0-50455600-1425237565_thumb.jpg post-57438-0-48291400-1425237570_thumb.jpg

 

Пробуйте, вроде ничего не упустил...

Изменено пользователем Viktar83

  • Автор

@Viktar83, отлично, благодарствую! Правда на сегодня закончился лимит "спасибок"! ))

Если сможете додумать, как сделать, чтобы при обновлении аякса, когда исчезает кнопка "Обновить", либо растягивалось поле ввода, либо утолщались во всю длину остальные кнопки, - было бы вообще высший пилотаж! А так, теперь когда происходит обновление чата, исчезает кнопка "Обновить" (ну она и раньше исчезала), и соответственно, во время ее исчезания, остается пустое поле. Не совсем красиво...

  • Автор

Можно конечно вообще удалить эту кнопку, но тогда будет потерян азарт решения этой задачи...

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.