Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Немного усовершенствовать чат 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, отлично, благодарствую! Правда на сегодня закончился лимит "спасибок"! ))

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

Опубликовано:
  • Автор

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

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.