Главная » Статьи » Статьи о/про uCoz » JS и JQ скрипты для uCoz

Дополнительные смайлики на форум. Для юКоз (uCoz)

Случилось так, что мне надоело, при вставке стороннего, то есть не совсем «стороннего», а своего, но не стандартного, смайлика, каждый раз лазить в Файловый менеджер (далее - ФМ) или упорно вспоминать адрес расположения картинки, восстанавливая в уме структуру папок на хоте сайта ... Да и смайлов у меня не мало, правда и «много» - тоже не скажешь, достаточно. Единственно, они не систематизированы, а просто свалены в разные папки... Но это, к данной заметке, отношения не имеет.

Так вот, задался я вопросом: «Как, наиболее просто и удобно всё это организовать?».

Вот критерии параметров, должных к выполнению:

  • 1. Должно быть просто.
  • 2. Должно быть удобно.
  • 3. По возможности - использовать системные (установленные по умолчанию) скрипты.
  • 4. Не должно быть ограничений ни на количество групп, ни на количество (в разумных пределах) смайлов.
  • 5.... На будущее ...

Без сомнения, уже существует куча написанных, и, возможно, более «лучших» (по параметрам, возможностям и т.п.) убеждать вас, что этот (мой), вариант - самый «правильный» - не хочу и не буду, тем более, не факт. ヅ
Не факт, также, что другие лучше ... ヅ

Предварительные размышления, привели меня к выводу, что подобный скрипт можно сделать в двух, вариантах:

  • первый - содержание окна из контента внешнего файла;
  • второй - генерация содержимого посредством JavaScript (циклом).

Ниже опишу первый вариант. Кому интересен второй - пишите в комментариях.


Контент, а именно смайлы, у меня будут располагаться в стандартном аякс (_uWnd) окне.

Актуально только для сайтов в системе юКоз (uCoz)

Создаётся новое _uWnd окно следующим структурным кодом:

Code
new _uWnd(name, title, width, height, opts, content, menuitems, app)

Где:

name string - уникальное имя окошка. Нигде не отображается, но используется при работе с такими окнами.

title string - заголовок окошка. Отображается в шапке.

width integer - ширина окошка.

height integer - высота окошка.

opts object - дополнительные параметры:

Подробнее, о дополнительных  параметрах , читать вот здесь: «helper.ucoz.ru»

А вот этим кодом, создаётся окно для дополнительных смайликов:

Code
<a href="javascript://" onclick="new _uWnd('smiles_1', 'Дополнительные смайлики', 500,500, {fadespeed:0, fadeclosespeed:0, fadetype:0, fadeclosetype:0, popup:0, autosizewidth:0, autosize:0, hideonresize:0, shadow:0, align:'center'}, {url:'/_content/_publ/cont/newSmiles/_sml_s.xml'});return false;"><b>-=Дополнительные смайлики #1=-</b></a>

Где:

smiles_1 - имя окна. Уникальное.

url:'/_content/_publ/cont/newSmiles/_sml_s.xml' - ссылка на ваш файл с смайлами.


А вот так, должен выглядеть сам «xml»-файл с контентом, в виде картинок смайлов.

Code

<ajax>
<cmd p="content"><![CDATA[
<script type="text/javascript">function selSml(){_uWnd.close('smiles_1');}</script> /* Скрипт для закрытия окна при выборе смайла */
<style type="text/css">
#hereSml img:hover{border:1px dashed #F00;}#hereSml img{cursor:pointer;} /* Стили для смайлов - при наведении - бордер и курсор-pointer */
</style>
<fieldset>
<legend>Выберите смайлик</legend>
<div id="hereSml">
<img src="http://likbezz.ucoz.ru/_theme/_sml/s/s01.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s01.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s02.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s02.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s03.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s03.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s04.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s04.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s05.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s05.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s06.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s06.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s07.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s07.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s08.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s08.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s09.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s09.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s10.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s10.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s11.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s11.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s12.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s12.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s13.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s13.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s14.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s14.gif[/img]','message'),selSml();return false;"> <img src="http://likbezz.ucoz.ru/_theme/_sml/s/s15.gif" onclick="emoticon('[img]http://likbezz.ucoz.ru/_theme/_sml/s/s15.gif[/img]','message'),selSml();return false;">
</div>
</fieldset>
]]>
</cmd>
</ajax>

Инфо:

emoticon() - это функция, по умолчанию прописана в форме добавления комментария для форума. То есть, если ставите не на форум, нужно будет её добавить. Либо в шаблон, либо в «XML»-файл. В файлах примера, она уже прописана. На всякий ...

А это, пример .... Точно по данному коду.


Конечно, можно оформить и поинтереснее, кнопочку, там, красивую забацать, и типа ... Это уже от вас зависит... ヅ
Естественно, можно сделать не один набор смайлов, а несколько ...
Вот так, например ...


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

Как это делается? - очень просто, если у вас есть, например, стандартный блокнот, (это такая программа) ...
Смотреть видео:



Не забываем прописывать правильные пути до смайлов. ヅ

Живые примеры можно наблюдать на форуме, и в форме добавления комментариев, если ещё есть ...


Обсудить статью и вопросы по материалу можно оставить вот в этой теме на форуме:
«Как сделать дополнительные смайлики?»


P.S.

Всем удачи... ヅ
Flesh.




Источник: Дополнительные смайлики на форум. Для юКоз (uCoz). JavaScript (циклы), Создание _uWnd окна, окошка, аякс, скачать, примеры
Категория: JS и JQ скрипты для uCoz | Добавил: likbezz (09.09.2010)
Просмотров: 18682 | Комментарии: 25 | Теги: CSS, Дополнительные, для юкоз, _uWnd, JavaScript, циклы, UCOZ, HTML, Смайлики, форум
Всего комментариев: 251 2 »
0  
23  Варнада [Материал[22.08.2014]

Цитата
Скрипт для закрытия окна при выборе смайла

Извините меня, какой скрипт?

0  
25  likbezz [Материал[01.09.2014]

Цитата Варнада
Извините меня, какой скрипт?

Скрипт для закрытия окна при выборе смайла.
Прописывается в коде xml файла, а именно - функция selSml()

0  
22  Gut [Материал[22.08.2014]

Подходит для всех шаблонов?

0  
24  likbezz [Материал[01.09.2014]

Цитата Gut
Подходит для всех шаблонов?

Да, для всех шаблонов. Главное - ровные руки.

0  
21  likbezz [Материал[08.06.2014]

Цитата Iris
А есть ли способ вместо -=Дополнительные смайлики #1=- поставить картинку небольшую?
Что бы по картинке клацать и открывались смайлы?

Конечно - вместо текста вставьте картинку любую и все.

0  
20  Вячеславна [Материал[28.03.2014]

Здравствуйте. Сделала. Получилось. Круто и здорово. Но есть но, которые просто убивают:

- Не работают для гостей и обычных пользователей. Т.е только для админов и модеров. А для остальных - при создании поста - вставляются, а в созданном посте - не отображаются, будто и не было. Мне очень надо, в т.ч и для гостей.
- Даже для админа при отключенных вв-кодах (т.е при визуальном редактировании) - не вставляются по клику. Раньше это было бы нормально, а теперь уже не удобно - видеть целую ссылку вместо самого смайла.
- В IE (эксплорер) - само окошко со смайлами даже не открывается, при нажатии - мелькает и исчезает...

0  
18  Bliss [Материал[31.01.2014]

сайт Baby63.ru - форум первое окно "Другие смайлы" ставила давно очень и сейчас второе решила сделать но не выходит что то.. вот ссылка на код http://baby63.ru/sml_v22.xml никак не пойму в чем ошибка. помогите! cry

0  
17  likbezz [Материал[27.01.2013]

Цитата (SLK)
и куда вот этот

В шаблон, туда где будет ссылка/кнопка и тп.

0  
15  vospa [Материал[10.01.2013]

Доброго времени суток. Помучился я изрядно, но таки победил. На форум все встало нормально и все исправно работает. Параллельно делал еще, по вашей же теме, чтобы смайлы не в 1 колонку, а в 3 появлялись. Тоже все получилось. И не только на форуме, но и в миничате. Так что, большое спасибо за все. Но есть один вопрос. Я не шибко силен в этой кухне, поэтому был бы признателен, если бы ткнули носом.
Не получается прикрутить дополнительные смайлы к миничату. Уже который день бьюсь. Где-то тут мелькало, что нужно ID заменить. Но в силу слабого знания кода, не могли бы Вы ткнуть носом, в какм месте что на что нужно заменить?
Заранее благодарен.

0  
14  Diana [Материал[19.03.2012]

Спасибо огромное за такую доходчивую статью. У меня теперь много смайлов на сайте biggrin

0  
11  bandjuk [Материал[04.02.2012]

Немного не понял сути скрипта?! А не проще создать в файловом менеджере папку с названием sml и залить нужные смайлы формата gif в неё!! Залитые смайлы будут отображаться в окошке вместе с остальными.

0  
12  likbezz [Материал[05.02.2012]

Quote (bandjuk)
Немного не понял сути скрипта?! А не проще создать в файловом менеджере папку с названием sml и залить нужные смайлы формата gif в неё!! Залитые смайлы будут отображаться в окошке вместе с остальными.

Во первых, такие смайлы нужно будет настраивать, в ПУ.
Во вторых, если смайлов больше 200 ... это уже будет проблема.
В третьих, отсутствует возможность отсортировать смайлы по категориям, например - смайлы - анимешки, большие смайлы и тп, все будет в кучу.
... Здесь же, можно и отсортировать, и количество не ограничено.

0  
13  bandjuk [Материал[05.02.2012]

Во первых, такие смайлы нужно будет настраивать, в ПУ.
не, в ПУ ничего не нужно настраивать!
А с остальным не поспоришь! ) smile

0  
10  Vladimir555 [Материал[02.02.2012]

Я нашёл другое решение. Можно вставить такой код
<a href="javascript://" rel="nofollow" onclick="new _uWnd('Sml',' ',-250,-350,{autosize:0,closeonesc:1,resize:0},{url:'/index/35-24-0'});return false;">Все смайлы</a>
где вместо /index/35-24-0 поставить /smiles.xml например (думаю понятно).
В корневом каталоге создать файл smiles.xml и написать туда что-то типа такого ( http://likbezz.ru/index/35-24-0 ), только написать адреса своих смайлов. Пишите на mail если что.

1-10 11-17
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]