Виртуальная Клавиатура (русский и украинский): варианты "встраивания"
Виртуальная Клавиатура использует HTML + Javascript, поэтому Javascript должен работать, чтобы Вы могли примеры
вариантов встраивания посмотреть.
Если у Вас свой форум, то у всех его пользователей Javascript обязательно работает, иначе не могли бы они участвовать.
Это Виртуальная Клавиатура с режимом "ввод ТОЧНО как дома":
ввод - с физической клавиатуры (хотя ввод мышкой тоже работает)
каждый там выбирает именно ту, знакомую на 100%раскладку (Стандартную или Фонетическую),
с которой дома вводит
Tо есть, можно писать кириллицей привычно, как дома - с той же раскладкой и
в таком же режиме, как домашний системный ввод.
Используются cookies, то есть запоминается раскладка,
предпочитаемая пользователем, и при следующем посещении именно она сразу на экране,
ему не нужно будет в меню идти для её выбора.
Сама страница Виртуальной Клавиатуры (на встраивамых вариантах картинка меньше размером):
Для ситуации "хочу такую взять себе и встроить на свой сайт/форум" я сделал вариант (подробно описанный ниже), где в отличие от указанной выше:
картинки поменьше размером (раз не на отдельной странице будет работать)
тоже работают cookies
есть много параметров настройки, например, если не хотите столько разных меню раскладок показывать; или хотите задать
начальную раскладку и т.п.
на всякий случай (хотя основной режим ввода - с обычной физической (не нарисованной) клавиатуры,
"как дома"), работает и ввод мышкой - щёлкая по буквам и знакам на рисунке,
и при этом на рисунке работают все клавиши типа
Shift, CapsLock, Backspace, Del, Caps, Shift, пробел, Enter.
Для встраивания обычно нужно только 1-2 строки HTML
вставить в программный код вашего сайта/форума:
указание на крошечный .js загрузчик, чтобы
весь программный код Клавиатуры не загружался со страницей Вашего сайта/форума до тех пор, пока пользователь
явно её не вызовет.
собственно кнопка вызова Клавиатуры (изначально Клавиатура обычно не видна)
Условия использования на Вашем сайте программного кода данной Виртуальной Клавиатуры
простые :
бесплатно
программный код -открытый (Open Source),
под соответствующей лицензией GPL,
поэтому люди могут себе брать, встраивать, изменять под свои нужды и т.п. -
просто оставив имя автора, где оно было, как того лицензия GPL требует.
Здесь описаны несколько вариантов (с работающими Примерами) встраивания (на выбор), например:
Клавиатура в 'рамке', которую можно передвигать по экрану
Клавиатура - в рамке, открываемой под полем ввода Вашего форума.
Есть здесь и готовые 'рецепты' (от людей, которые это уже сделали) по встраиванию в конкретные форумы -
phpBB, IPB (IP.Board), SMF, vBulletin.
Примечание.
Есть и другие варианты встраивания, отличающиеся тем, что Клавиатура не
встроена прямо в Ваш сайт/форум,
а находится на отдельной странице Вашего сайта:
пользователи или туда отсылаются или эта отдельная страница показана в
окошке (pop-up window) на некой странице вашего сайта.
Эти варианты описаны - в качестве Метода 1 -
и тоже с работающими примерами, на другой моей
странице -tstKlava.htm
(там же, кстати, описаны и здешние варианты встраивания - в разделе "Метод 2",
только без деталей насчет встраивания)
Почти все варианты встраивания/вызова уже использованы на разных сайтах и форумах
(если интересно, могу ссылки дать, где какой вариант использован).
Если поставите себе один из вариантов, напишите мне пожалуйста на адрес
(удалите пробелы до и после знака '@')
Раскройте его в каком-нибудь временном каталоге, лучше в пустой папке.
Для 'встраивания' Клавиатуры на Ваш сайт/форум оттуда, из архива, нужна
только папка (каталог)vkb.
Остальное там - для тестирования:
.htm файлы - работающие примеры разных вариантов встраивания. Просто чтобы Вы опробовали разные варианты
и если интересно, посмотрели в Source этих .htm, например, посмотреть, как там сделано
не описанное ниже сообщение об отключенном Javascript
и что из-за этого Клавиатура работать не будет.
На форумах такое сообщение естественно НЕ нужно - там и кроме Клавиатуры
полно своего Javascript, а вот на сайте, где нет другого Javascript,
может и нужен такой кусок кода Клавиатуры...
Это .htm примеры не надо переписывать в рабочее пространство Вашего сайта.
папка (под-каталог) UTF-8 - с UTF-8 версией .js файлов, если Ваш сайт -
в кодировке UTF-8,
а не в кодировке windows-1251 ("Cyrillic(Windows)")
В этом случае надо после раскрытия архива .zip все файлы из самой папки
UTF-8 переписать в родительскую, то есть, в vkb,
поверх файлов с тем же названием.
Теперь папка vkb готова - можно её записать в рабочее пространство Вашего сайта.
А куда именно? Об этом - следующий пункт инструкции:
Где лежат файлы Клавиатуры (папка vkb )
по отношению к странице, в которую она встроена
По умолчанию сделано так (самый частый случай), что Ваша страница будет брать нужные
Клавиатуре файлы из
под-каталога vkbтого каталога, где эта страница находится.
То есть, например, Клавиатура, встроенная в страницу A.html, находящуюся на
abc.com/~misha/A.html, будет брать свои файлы из папки
abc.com/~misha/vkb.
Если открыть в редакторе главный файл из папки vkb -
загрузчик Клавиатуры vkb_load.js - то это в самой первой строке записано:
vkb_Path = "vkb/";
Если же Вас это НЕ устраивает - например, хотите, чтобы Клавиатура работала на нескольких
страницах A,B,C,D..., расположенных в разных папках на разных уровнях, типа
abc.com/A.htm
abc.com/site1/B.htm
abc.com/site2/C.htm
abc.com/site31/site32/D.htm
то тогда надо, чтобы было
vkb_Path = "/vkb/";
то есть, на страницах в любых каталогах и под-каталогах встроенная Клавиатура будет за своими
файлами идти
в папку vkb находящуюся в корневом каталоге.
Подобное изменение пути к папке vkb
настраивается путем задания параметра vkb_Path :
или в списке параметров, заданном в HTML-строке, вставляемой в код Вашей страницы/форума
перед строкой с вызовом .js загрузчика Клавиатуры
(далее будет подробно написано и про строку задания параметров и про предлагаемые параметры)
Например, вот такие две строки Вы вставляете в код Вашей страницы/форума, указывая, например, что Вы
хотите иметь меню раскладок для НЕ-американских клавиатур и что Вас не устраивает вариант
vkb_Path"по умолчанию":
или, если vkb_Path - это единственный нужный параметр и
поэтому неохота из-за него одного иметь дополнительную вставляемую строку,
то можно значение vkb_Path заменить прямо в файле vkb_load.js -
в самом начале этого файла (специально поставлено в начало именно для такого случая)
Итак, Вы приняли решение, где поместить папку vkb с файлами Клавиатуры и
соответственно изменили (если надо)
значение 'по умолчанию' параметра vkb_Path.
Если кодировка Ваших страниц - Unicode (UTF-8)
Строка с вызовом загрузчика Клавиатуры нужна всегда, в любом варианте встраивания.
Как видно из примера выше (и из текста тестовых страниц), в этой строке указана кодировка:
в Примере
это "Cyrillic(Windows)" -charset='windows-1251'
Это - кодировка русских букв в .js файлах Клавиатуры и если и Ваши страницы тоже в этой кодировке,
то всё в порядке.
Если же Ваши страницы - в Unicode (UTF-8), то:
в строке вызова загрузчика надо будет указать charset='utf-8'
использовать подготовленные мной UTF-8 варианты .js файлов Клавиатуры как было описано
выше, то есть, именно их записать в папку vkbдо того,
как эту папку переписать из временного каталога в рабочее пространство Вашего сайта.
Выберите 'Вариант встраивания' по вкусу,
используя работающие Примеры
Для каждого Варианта приведены те 1-2 строки HTML (или 3-4 для некоторых Вариантов),
которые Вам надо вставить в код Вашего сайта или форума, например, в HTML код Гостевой Книги.
Важно! Одна из встраиваемых строк - всегда присутствующая, в любом Варианте, это вот такая строка вызова
загрузчика vkb_load.js (должна быть в секции <HEAD> HTML-кода страницы):
Это она так выглядит ниже, в наборе строк для встраивания, приведенных для каждого Варианта.
Но Вам - возможно - надо будет её модифицировать:
в строке вызова загрузчика vkb_load.js используется кодировка windows-1251.
Если кодировка Вашего сайта - UTF-8, то Вам надо будет заменить имя кодировки на utf-8 в этой строке.
в строке вызова загрузчика vkb_load.js используется значение 'по умолчанию'
для расположения папки vkb (было описано выше): ... src = 'vkb/vkb_load.js'
Если у Вас другое расположение этой папки, то надо путь к папке соответствующим образом изменить в этой строке
(в дополнение к действиям, описанным выше в плане параметра vkb_Path ).
Например, если папка лежит в корневом каталоге, то кроме задания параметра vkb_Path в строке параметров,
надо будет в строке вызова загрузчиков изменить путь к файлу: ... src = '/vkb/vkb_load.js'
В следующем за данным разделе будет описано (со слов Админов), как эти строки вызова Клавиатуры
вставляются (через Админку или в шаблоны)
на разных форумах, где это уже сделано -
Для других форумов наверняка сможете сделать 'по подобию'.
А пока - перечисление вариантов...
Примечание. Как Вы увидите на примерах ниже, при самом первом вызове
Клавиатуры появляется сообщение
"Подождите, идёт загрузка, это 1-й вызов Клавиатуры"
Без этого сообщения пользователь будет удивлён тем, что после самого первого нажатия на кнопку
вызова Клавиатуры ничего не происходит какое-то время.
На что уходит это время? Чтобы зря не 'утяжелять' страницу форума (если человеку НЕ нужна Клавиатура),
у Клавиатуры -
крошечный 10к 'загрузчик' (файл vkb_load.js) и только если пользователь нажмёт кнопку
вызова Клавиатуры, тогда основной её код
подгружается (а потом уже в кэшe лежит и доступен впри следующих вызовах)
поэтому при самом первомвызове - и только при нём -
после нажатия кнопки и до появления картинки проходит некое время, нужное
для загрузки всех файлов Клавиатуры -
поэтому, мне кажется, сообщение, высвечиваемое только после самого первого вызова
"Подождите..." -полезное.
Ниже - 4 разных Варианта встраивания.
Варианты встраивания описываются, начиная с номера 2 -
так получилось, что он вторым по счёту разрабатывался, но оказался самым популярным,
поэтому все его параметры сделаны "параметрами по умолчанию",
чтобы для его встраивания нужны были бы обычно только 2 строки HTML:
вызов загрузчика vkb_load.js и собственно кнопка вызова Клавиатуры
Вариант 2.
Клавиатура появляется в рамке; вводить кириллицу можно только вызвав Клавиатуру на экран
Здесь - два под-варианта:
2a Это "обычный" Вариант 2.
Рамку Клавиатуры можно двигать по экрану, онa "плавающая":
Всего 2 строки обычно (если не нужны дополнительные параметры, описанные в разделе Параметров ниже):
вызов загрузчика vkb_load.js и собственно кнопка вызова Клавиатуры...
Кнопка вызова ставится обычно под полем ввода Вашего сайта/форума, тогда и поле ввода на экране и рамка Клавиатуры
тут же в правом углу появляется (её можно двигать).
<HEAD>
...
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
...
</HEAD>
<BODY>
...
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BUTTON TYPE=button ID="vkb_callVirt" onclick="blur(); vkb_start(event);" class="vkb_IEbutton"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
<span>Виртуальная Клавиатура</span></BUTTON>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
...
2b Это "модифицированный" Вариант 2.
Позиция рамки с Клавиатурой фиксирована, вне зависимости от скроллирования
самой страницы (горизонтального или вертикального),
что удобно для форм с большим количеством полей ввода.
Иначе, без такой фиксации - с предыдущим под-вариантом 2а,
щёлкнув по кнопке вызова Клавиатуры находящейся, например, в самом низу страницы, пришлось бы долго, в несколько этапов,
передвигать Клавиатуру на самый верх страницы, чтобы ввод с первого поля начать. И потом всё время двигать к нужному участку формы ввода...
А при данном под-варианте 2b это легко - проскроллировал страницу и сразу в нужное место формы попал, а Клавиатура всегда на месте:
Фиксированное положение рамки Клавиатуры, независимо от вертикального или
горизонтального скроллирования -
для формы с многочисленными полями ввода.
Само положение определено как "верхний правый угол экрана".
Если эти координаты Вас не устраивают, то можно в любом редакторе, например, в Notepad, открыть файлы
vkb\vkfix.css и vkb\vkbfixIE.css (дополнительный для Internet Explorer)
и "поиграться" с координатами right/left и top
Например, в первом из файлов написано right: 20px; top: 10px;
и можно, например, в Firefox, поменять, посмотреть как будет.
2-й файл - для Internet Explorer и там
left -20 - ...
top 10 + ...
и тоже можно поменять/посмотреть как будет.
Как видите ниже, здесь нужна ещё одна строка, кроме двух, используемых в 2a -
надо ведь параметр"фиксированное положение"задать (vkb_Fix).
Строка задания параметров должна предшествовать строке вызова загрузчика vkb_load.js.
В ней могут быть и другие дополнительные параметры, описанные ниже в разделе Параметров,
например, vkb_List где задаются поля для которых должна работать Клавиатура
(в примере работы данного варианта это позволяет Клавиатуре не работать в полях
адреса электронной почты, номера телефона, и т.п.)
Кнопка вызова ставится где угодно, а код её - такой же, как в 2a.
<HEAD>
...
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Fix = true;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
...
</HEAD>
<BODY>
...
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BUTTON TYPE=button ID="vkb_callVirt" onclick="blur(); vkb_start(event);" class="vkb_IEbutton"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
<span>Виртуальная Клавиатура</span></BUTTON>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
...
Вариант 1.
Рамку с Клавиатурой можно двигать по экрану. Вводить кириллицу можно и когда рамки на экране нет
Такой Вариант любят на форумах, где многим нужен Виртуальный ввод, поэтому
управляющие элементы Клавиатуры уже находятся на экране, сразу видны, и люди могут
писать, не вызывая картинку раскладки на экран, если она им не нужна:
Примечание. Начальное/стартовое положение переключателя ввода
с клавиатуры ("Включено", "Выключено")
управляется параметром vkb_CyrOnOffInit описанным
в разделе Параметров.
По умолчанию его значение "On"/"true" - соответствует Стартовой позиции "Включено",
но это не всегда удобно,
ведь те участники, кому не нужна Клавиатура, используют системный ввод при "RU"
в панели задач...
Другой случай, когда нужно задать значение этого параметра,
так как значение 'по умолчанию'
не устраивает - в англо-язычном примере данного варианта, чтобы при старте было "Выключено".
Управляющие элементы Клавиатуры обычно ставятся под полем ввода форума/сайта.
В строке параметров могут быть и другие дополнительные параметры, описанные ниже в разделе Параметров.
Важно! Во 2-й части встраиваемого кода Клавиатуры данного Варианта есть указание
на совсем маленькую картинку (файл keys02.png),
используемую в качестве кнопки вызова рамки Клавиатуры (см. Примеры).
Здесь путь к этой картинке прописан вот так, используя значение 'по умолчанию' в качестве пути к папке
vkb : ... IMG SRC = "vkb/keys02.png"
Если у Вас расположение папки vkb другое, то, как выше было описано
для пути к файлу загрузчика,
Вам надо будет сооветствующим образом этот путь к картинке keys02.png поменять.
Для вставки на Ваш сайт здесь нужно, кроме строки с кнопкой вызова,
вставить ещё HTML строку, задающую 'рамку' (<div>) в которой будет показана
Клавиатура -
ведь рамка должна непосредственно под кнопкой вызова открываться, поэтому пришлось
строку этой рамки под HTML кодом кнопки вызова иметь.
В строке параметров могут быть и другие дополнительные параметры, описанные ниже в разделе Параметров.
<HEAD>
...
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Variant = 3;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
...
</HEAD>
<BODY>
...
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BUTTON TYPE=button ID="vkb_callVirt" onclick="blur(); vkb_start(event);" class="vkb_IEbutton"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
<span>Виртуальная Клавиатура<B>: Вкл/Выкл</B></span>
</BUTTON>
<div id='vkb_VirtKbd' style='display:none;'></div>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
...
Вариант 3b.
Это "модифицированный" Вариант 3. Использован
параметр "на отдельной странице" vkb_InitShow
(см. в разделе Параметров),
чтобы встроить Клавиатуру на отдельной странице Вашего сайта
и туда отправлять пользователей для ввода кириллицы
или показывать эту страницу в pop-up окне на некой странице Вашего сайта:
В строке параметров могут быть и другие дополнительные параметры, описанные ниже в разделе Параметров.
Раз на отдельной странице (с последующим копированием), и есть место, то в Internet Explorer видна кнопка
"скопироватьв системный буфер", чтобы не надо было вручную выделять текст и копировать в Clipboard.
Так как Клавиатура сразу видна (ведь на отдельной странице), то загружаются сразу все .js файлы.
Если надо модифицировать имя кодировки и/или путь к папке vkb , то - во всех 3-х строках загрузки .js файлов.
Так как это отдельная страница, то (раз можно) для Клавиатуры модифирован тэг <BODY>
<HEAD>
...
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Variant = 3; vkb_InitShow = true;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<script type='text/javascript' src='vkb/vkbbox.js' charset='windows-1251'></script>
<script type='text/javascript' src='vkb/vkb_one.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
...
</HEAD>
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BODY bgcolor="#ffffff" onload="vkb_Init(); vkb_start();">
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
...
...
<!-- 3-я часть кода Виртуальной Клавиатуры: -->
<div id='vkb_VirtKbd' style='display:none;'></div>
<div id='vkb_Wait'>
<table width=300 bgColor=#b5c9e2 border=2><TR><TD ALIGN=CENTER><BR>
Подождите, идёт загрузка...<BR> </TD></TR>
</table>
</div>
<!-- Конец 3-й части кода Виртуальной Клавиатуры -->
...
Вариант 4.
Рамка Клавиатуры открывается под кнопкой вызова у поля ввода, как и Вариант 3,
но для более коротких (по горизонтали) полей ввода -
рамка Клавиатуры занимает меньше места по горизонтали
Для вставки на Ваш сайт здесь нужно, кроме строки с кнопкой вызова,
вставить ещё HTML строку, задающую 'рамку' (<div>) в которой будет показана
Клавиатура -
ведь рамка должна непосредственно под кнопкой вызова открываться, поэтому пришлось
строку этой рамки под HTML кодом кнопки вызова иметь.
В строке параметров могут быть и другие дополнительные параметры, описанные ниже в разделе Параметров.
<HEAD>
...
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Variant = 4;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
...
</HEAD>
<BODY>
...
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BUTTON TYPE=button ID="vkb_callVirt" onclick="blur(); vkb_start(event);" class="vkb_IEbutton"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
<span>Виртуальная Клавиатура<B>: Вкл/Выкл</B></span>
</BUTTON>
<div id='vkb_VirtKbd' style='display:none;'></div>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
...
Вариант 4b.
Это "модифицированный" Вариант 4. Использован
параметр "на отдельной странице" vkb_InitShow (см. в разделе Параметров),
чтобы встроить Клавиатуру на отдельной странице Вашего сайта
и туда отправлять пользователей для ввода кириллицы
или показывать эту страницу в pop-up окне на некой странице Вашего сайта:
В строке параметров могут быть и другие дополнительные параметры, описанные ниже в разделе Параметров.
Так как Клавиатура сразу видна (ведь на отдельной странице), то загружаются сразу все .js файлы.
Если надо модифицировать имя кодировки и/или путь к папке vkb , то - во всех 3-х строках загрузки .js файлов.
Так как это отдельная страница, то (раз можно) для Клавиатуры модифирован тэг <BODY>
<HEAD>
...
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Variant = 4; vkb_InitShow = true;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<script type='text/javascript' src='vkb/vkbbox.js' charset='windows-1251'></script>
<script type='text/javascript' src='vkb/vkb_one.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
...
</HEAD>
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BODY bgcolor="#ffffff" onload="vkb_Init(); vkb_start();">
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
...
...
<!-- 3-я часть кода Виртуальной Клавиатуры: -->
<div id='vkb_VirtKbd' style='display:none;'></div>
<div id='vkb_Wait'>
<table width=300 bgColor=#b5c9e2 border=2><TR><TD ALIGN=CENTER><BR>
Подождите, идёт загрузка...<BR> </TD></TR>
</table>
</div>
<!-- Конец 3-й части кода Виртуальной Клавиатуры -->
...
Конец описания Вариантов
Как встроить в Форумы
Если Вас не интересует встраивание в Форумы, то переходите к разделу Параметры
В данном разделе "Форумы" описано (со слов Админов, сам я не разбираюсь в форумах), как строки, нужные для встраивания
Клавиатуры, в форум
вставляются (через Админку или в шаблоны) на разных форумах, где это уже сделано -
Для других форумов (IconBoard, ...) наверняка можно сделать 'по подобию'.
Описания для конкретных форумов ниже обычно относятся к одному Варианту встраивания -
тому, который тот Админ выбрал для своего форума.
Например, для phpBB описано, как встраивалась Клавиатура по Варианту 2.
Но вставляемые строки для разных Вариантов не сильно отличаются, так что если у Вас тоже phpBB,
но Вы хотите другой Вариант, то наверняка сможете 'по подобию' это сделать.
Как выше в описании Вариантов встраивания было описано, набор вставляемых строк делится на 2 части:
"1-я часть кода Клавиатуры" - вызов загрузчика и параметры, если они есть.
Эта часть должна попасть в раздел <HEAD> генерируемой Web-страницы
"2-я часть кода Клавиатуры" - собственно кнопка вызова Клавиатуры
Итак, ниже - описания от Админов для следующих форумов, перейдите по нужной ссылке:
Установлен Вариант 2 - его Пример и строки, которые надо вставить, были описаны выше.
Ниже - готовый Мод для 3.0.x версий phpBB,
а затем, на всякий случай, шаги по встраиванию (без Мода),
проделанные Администратором одного phpBB форума.
Будьте внимательны: у Вас может быть другое расположение папки vkb и/или другая кодировка сайта
(и то и другое было описано в начале страницы); а может и дополнительные параметры...
Автор, nissin, написал в теме форума phpBBguru: "Вызывается кнопочкой Kb в панели BBCode."
Специальный случай, описанный в той же теме участником BorisL:
"У меня установлен Advanced ВВCodes - кнопки нет.
Если я его отключаю, то в обычном ВВCodes кнопка вызова Клавиатуры появляется.
Хорошо покопался и нашел где нужно пхнуть кнопку Kb, если установлена AВВС3 от mtssi"
См. детали в первом сообщении второй страницы той темы.
А вот без Мода, шаги по встраиванию, что Админ одного форума проделал:
Скопировать каталог vkb в каталог форума
в файле templates/subSilver/overall_header.tpl сразу после тега <HEAD>
вставляем 1-ю часть:
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
в файле templates/subSilver/posting_body.tpl ищем тэг
<textarea name="message"..... ></textarea>
после него вставляем тэг <BR> и кнопку вызова Клавиатуры, то есть 2-ю часть:
<BR>
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BUTTON TYPE=button ID="vkb_callVirt" onclick="blur(); vkb_start(event);" class="vkb_IEbutton"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
<span>Виртуальная Клавиатура</span></BUTTON>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
Если установлен мод quickreplay, проделываем пункт 3 для файла
templates/subSilver/quick_reply.tpl
Если не хотите читать про другие форумы, то переходите к разделу Параметры
форум IPB (IP.Board - Invision Power Board)
У форума IPB (IP.Board - Invision Power Board) вроде есть специфика из-за которой там
проще/беспроблемнее встроить варианты 3 или 4, чем "плавающие" 1 или 2.
Как написал Администратор одного такого форума, это из-за
"интенсивного использования "слоёв" в форумном коде IPB".
Вот тут можно посмотреть, как работает встроенная в форум IPB (версия 2013 года, наверное 3.3.4)
данная Клавиатура (встроили Вариант 4, описанный выше),
и в форме Быстрого Ответа, и в Полном Ответе, и в форме Личного Сообщения
(правда, чтобы увидеть, надо зарегистрироваться, но это 2 минуты):
Ниже - описания от Админов, как именно они встраивали Клавиатуру в свой IPB форум (всего 5-6 строк),
в разные версии по-разному, но для каждой это всего 3-4 предложения, так что советую их все просмотреть,
чтобы решить, как Вам проще встроить.
Будьте внимательны: у Вас может быть другое расположение папки vkb и/или другая кодировка сайта
(и то и другое было описано в начале страницы); а может и дополнительные параметры...
Итак, просмотрите описания от Администраторов:
IPB 2.1.7 - встроен Вариант 3 ('широкая' рамка под полем ввода, больше размер по горизонтали)
Переписать папку vkb в каталог форума и затем:
1. Вставить 1-ю часть кода Клавиатуры.
вставил следующие 2 строки в шапку "глобального" шаблона форума:
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Variant = 3; vkb_nonUS=true;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
... и прямо под тем фрагментом, где заканчивается "форма редактирования",
сразу после закрывающего форму тэга </form>, но именно в этом же слое,
вставил 2-ю часть кода Клавиатуры, то есть кнопку вызова:
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BUTTON TYPE=button ID="vkb_callVirt" onclick="blur(); vkb_start(event);" class="vkb_IEbutton"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
<span>Виртуальная Клавиатура<B>: Вкл/Выкл</B></span>
</BUTTON>
<div id='vkb_VirtKbd' style='display:none;'></div>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
IPB 2.3.1 - встроен Вариант 4 ('узкая' рамка под полем ввода, меньше размер по горизонтали)
Переписать папку vkb в каталог форума и затем:
1. Вставить 1-ю часть кода Клавиатуры.
"админка" - "внешний вид" - "изменить общий шаблон форума" -
вставил внутри HTML тэга <head> следующие 2 строки:
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Variant = 4; vkb_nonUS=true;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
2. Вставить 2-ю часть кода Клавиатуры.
"админка" - "внешний вид" - "изменить html шаблоны" - "skin_topic-quick_reply_box_open"
то есть, шаблон быстрого ответа. Вставил там 2-ю часть кода Клавиатуры, то есть кнопку вызова:
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<BUTTON TYPE=button ID="vkb_callVirt" onclick="blur(); vkb_start(event);" class="vkb_IEbutton"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
<span>Виртуальная Клавиатура<B>: Вкл/Выкл</B></span>
</BUTTON>
<div id='vkb_VirtKbd' style='display:none;'></div>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
Чтобы Клавиатура была доступна также в форме полного ответа и в форме личных сообщений,
надо точно так же добавить эту вторую часть кода Клавиатуры еще в следующие HTML шаблоны:
skin_post - endform
skin_msg - send_form_footer
IPB 2.3.5 - встроен Вариант 4 ('узкая' рамка под полем ввода, меньше размер по горизонтали)
Переписать папку vkb в каталог форума и затем:
1. Вставить 1-ю часть кода Клавиатуры.
"админка" - "внешний вид" - "изменить общий шаблон форума" -
вставил внутри HTML тэга <head> следующие 2 строки:
<!-- 1-я часть кода Виртуальной Клавиатуры: -->
<script type="text/javascript">vkb_Variant = 4; vkb_nonUS=true;</script>
<script type='text/javascript' src='vkb/vkb_load.js' charset='windows-1251'></script>
<!-- Конец 1-й части кода Виртуальной Клавиатуры -->
2. Вставить 2-ю часть кода Клавиатуры в шаблоны быстрого ответа и полного/PM.
Будьте внимательны: у Вас может быть другое расположение папки vkb и/или другая кодировка сайта
(и то и другое было описано в начале страницы); а может и дополнительные параметры...
Кроме того, он модифицировал "2-ю часть встраиваемого кода", в том числе у него Клавиатура - не под полем ввода форума,
а справа от него и CSS для кнопки - свой.
А Вы может хотите, чтобы было, как в Примере этого Варианта 4
описанного выше - ну тогда из Примера и берите строки для вставки...
"Порядок установки я опишу, но у нас есть один нюанс, отличающий размещение Виртуальной Клавиатуры (ВК)
в шаблонах -
форма Быстрого Ответа у нас интегрирована в шаблон showthread, а не подтягивается из отдельного шаблона.
Собственно в разрезе установки ВК это единственное существенное отличие от умолчательной конфигурации vBulletin.
На данный момент версия движка 3.6.4, но установка ВК не будет особо отличаться и на других версиях.
После неё вставляем (модифицированные) строки ВК, составляющие "2-ю часть" встраиваемого кода ВК:
<fieldset class="fieldset">
<legend>Клавиатура</legend>
<!-- 2-я часть кода Виртуальной Клавиатуры: -->
<button style="width:100%" type="button" class="button" ID="vkb_callVirt" onclick="blur(); vkb_start(event);"
title="Окно Клавиатуры: выбор раскладки; ввод с клавиатуры или мышкой">
Виртуальная Клавиатура<br />
<b>Вкл/Выкл</b></button><br>
<div id='vkb_VirtKbd' style='display:none;'></div>
<!-- Конец 2-й части кода Виртуальной Клавиатуры -->
Всё."
И ответ этого Администратора человеку, который делал вышеописанное для версии 3.7, но не сработало:
1) Описание проблемы
"Строка
<title>$thread[title] - $foruminfo[title]</title>
Её нету в 3.7.х
там есть:
<title>$thread[prefix_plain_html] $thread[title]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> -
$vboptions[bbtitle]</title>
Вторая строка есть.
Но....ничего не получилось.
А по другому, если не в SHOWTHREAD я так и не понял где и куда"
2) Ответ
"Я же предупреждал, что у нас не совсем стандартные шаблоны на форуме.. вернее даже совсем нестандартные :)
В общем случае, в частности в версии 3.7 код клавиатуры нужно размещать в шаблоне showthread_quickreply
Соответственно, первую часть кода можно разместить первыми строками шаблона, перед условием
<if condition="$show['editor_toolbar']">
А вторую часть необходимо размещать там где собственно и будет отображаться клавиатура.
Например разместив его в таблицу или div перед строкой
Конец описания 'вставки' Клавиатуры для разных форумных движков
Параметры (практически все - НЕобязательные)
JavaScript файлы загружаются и используются по-разному в зависимости от
Варианта.
Предлагается параметр - номер варианта, например:
vkb_Variant = 1;
По умолчанию номер Варианта = 2.
Вы можете выбрать интерфейс Клавиатуры - русский или английский
(все слова на экране Клавиатуры, названия раскладок, ....)
По умолчанию интерфейс - русский, поэтому если хотите английский,
то в строке параметров должен быть такой:
vkb_InterfaceLanguage='E';
Вы можете сами решить, нужна ли Вам обратная опция -"В латиницу" -
это когда Вы пишете кириллицей обычным образом, с системной клавиатурой и "Ру/RU" в панели
задач, а на экране получается латиница типа "privet"
(см. как эта опция работает на странице Клавиатуры
на http://porusski.net)
Эта опция может быть нужна для SMS и т.п.
vkb_ToLatin=true;
По умолчанию - "false", то есть, нет на экране Клавиатуры такой опции.
Вы можете сами решить, нужна ли Вам опция
"когда режим клавиатуры 'чужого' компьютера - НЕ 'английский, США'".
(что это за опция? См. как она работает и Пояснение к ней под картинкой
на http://porusski.net)
Если Вам такая опция нужна, то в строке параметров нужен вот такой:
vkb_nonUS=true;
По умолчанию значение - "false", то есть, НЕ нужна такая опция.
Важно. Если такая опция Вам нужна, то - кроме задания этого параметра - надо,
как было в начале страницы описано, при формировании папки vkb во временним каталоге,
скопировать все файлы из под-каталога non-US в
родительский, в папку vkb
Вы можете сами решить, какова будет начальная (при первом вызове Клавиатуры)
раскладка Клавиатуры,
то есть, для американского и других режимов - одна из Стандартных или
одна из Фонетических, например, если хотите, чтобы была первая из списка Фонетических:
vkb_KbdVariant = '1';
По умолчанию значение - "30" (Стандартная русская).
Примечание. Если захотите задать значение для НЕамериканского клавиатурного режима,
то тогда НЕ
забудьте так же задать vkb_nonUS=true;
(этот параметр был описан выше, перед данным).
Вы можете сами решить - для варианта 2, когда Клавиатура работает
в рамке/окошке - как себя это окошко будет вести:
его или можно двигать по экрану, 'взявшись' за заголовок -
это поведение "по умолчанию"
или же позиция окошка фиксирована, вне зависимости от скроллирования
самой страницы (горизонтального или вертикального),
что удобно для форм с большим количеством полей ввода
(например,
вот такой: http://dag.com.ua/people/registration.php),
где иначе, с предыдущим под-вариантом,
шелкнув по кнопке вызова Клавиатуры в самом низу страницы, пришлось бы долго, в несколько этапов,
передвигать Клавиатуру на самый верх страницы, чтобы ввод с первого поля начать.
А при данном под-варианте это легко - проскроллировал страницу и сразу наверх попал.
Чтобы позиция окошка Клавиатуры была фиксированной, надо задать параметр
vkb_Fix = true;
По умолчанию значение - false, то есть, окошко в Варианте 2 можно двигать по экрану.
Служебные файлы Клавиатуры лежат в папке vkb и по умолчанию
путь (Path) к ней задан как
vkb_Path = "vkb/";
Другое значение можно задать в строке параметров HTML файла страницы, где Клавиатура встроена.
Расположение папки vkb с файлами Клавиатуры обсуждалось в начале страницы.
Вы можете сами решить, в каком положении будет изначально, при старте,
переключатель основного режима
"Кириллица с клавиатуры" - "Включено" или "Выключено".
(в основном это для Варианта 1, описанного выше вместе с другими)
Например,
Вы можете захотеть "Выключено" в качестве начального положения -
иначе те пользователи, кому НЕ нужна Виртуальная Клавиатура, то есть, кто вводит кириллицу
с обычными системными клавиатурными средствами, будут смущены тем, что работают ОБА метода ввода
одновременно (пока не догадаются отключить Виртуальную Клавиатуру, переведя переключатель в "Выключено").
Если Вы хотите иметь "Выключено" при старте, как начальное,
то с списке параметров надо иметь следующее:
vkb_CyrOnOffInit=false;
По умолчанию (то есть, если параметра нет) значение - "true",
то есть, "Включено".
Для Вариантов 3 и 4 - "рамка под полем ввода" (широкая или узкая)
есть параметр для случая, когда
Виртуальная Клавиатура - на отдельной странице Вашего сайта,
а значит, должна быть сразу видна, изначально.
Для обычных встраиваний (на форуме например) Клавиатура ведь сразу НЕ видна -
чтобы в глаза не бросалась, если пользователю не нужна, и чтобы страницу зря не 'утяжелять'.
Появляется только если пользователь сознательно нажмет кнопку вызова...
А вот если это отдельная страница, то надо, чтобы сразу была видна.
Тогда в списке параметров надо иметь следующее:
vkb_InitShow=true;
По умолчанию (то есть, если параметра нет) значение - "false",
то есть, Виртуальная Клавиатура не видна, появляется только по нажатию клавиши.
Опять же, это только для вариантов 3/4 - в случае, если кому именно так захотелось
на отдельной странице сделать (когда встраивается 2-3 строками, картинка небольшая по размеру;
с загрузчиком, надо ждать 1-й раз
пока весь код загрузится),
а не так, как описано для обычного случая "Клавиатура - на отдельной странице",
где картинка по размеру не уменьшенная, где предлагается прямо на странице иметь весь HTML код
Клавиатуры, где поэтому не надо ждать пока код загрузится -
см. на странице, где все варианты описаны,
под-варианты (c) и (d)Варианта 1 Метода 1.
Реже используемые параметры
Как было описано в начале страницы, Клавиатура, встроенная на Ваш сайт/форум,
сама находит все поля ввода и активируется в них.
Но мне писали, что часто не нужно, чтобы во всех полях работала -
нужен список полей.
Вот такой параметр был создан для этого (имена полей придуманы):
vkb_List = "Message3, InputABC, Field5";
Перечислены именa полей, где Клавиатуре следует работать,
заданные у Вас в HTML опцией Name, например, <textarea NAME="Message3" ROWS=40 ...
Если форум - чисто российский, нет 'забугорников', то Клавиатура нужна тем, кто
пишет обычно (всегда) со Стандартной
русской раскладкой "йцукен", а тут за рубеж выехал (отпуск, командировка, учеба) и хочет,
скажем, из гостиницы в Берлине в форум написать.
Тогда, как мне писали, Администратор форума может решить, что не надо показывать меню
выбора Фонетических раскладок, только Стандартные
(у Клавиатуры в меню Стандартных -
4 опции: обе Стандартные русские, которые в состав Windows входят - обычная и "пишущая машинка";
затем украинская и раскладка где буквы - в алфавитном порядке).
Вот такой параметр был создан для этого:
vkb_Phonetic = false;
По умолчанию меню Фонетических - показывается, то есть значение этого параметра -true;
Если задать параметр отсутствия меню Фонетических раскладок, то и размер загружаемых .js файлов Клавиатуры
будет меньше - Фонетические раскладки находятся в отдельных .js файлах и не будут загружаться,
если vkb_Phonetic = false;
Этот параметр влияет и на наличие/отсутствие меню Фонетических и в рамке не-американских режимов
(если задан параметр vkb_nonUS описанный выше).
То есть, человек, путешествующий по Испании или Франции, выбрав соответствующий (испанский или французский)
режим Клавиатуры, увидит там только привычную ему Стандартную раскладку
и не увидит меню Фонетических.
Если на форуме - только жители России/СНГ (которым Виртуальная Клавиатура нужна,
когда они выезжают за пределы России/СНГ),
то Администратор форума может решить, что ему в рамке Клавиатуры вообще не нужна клавиша
"Показать/скрыть меню раскладок", а только одно меню для Стандартных раскладок -
если конечно не нужно не-американских режимов со Стандартной раскладкой с соответствующим меню и
не нужно режима "В латиницу/транслит".
Этого (то есть, без клавиши; только одно меню Стандартных раскладок)
можно добиться заданием трёх (выше описанных) параметров
но так как такое может достаточно часто понадобиться, то сделан отдельный параметр для этого, чтобы три параметра не надо было задавать.
То есть, для случая "Никаких раскладок, кроме Стандартных с одним меню; клавиша 'Показать/скрыть меню раскладок' не нужна"
был создан специальный параметр:
vkb_Layouts = false;
По умолчанию значение этого параметра - true; то есть клавиша 'Показать/скрыть меню раскладок' присутствует.
Администратор форума может пойти ещё дальше и вообще не показывать никаких меню
раскладок - на экране будет только одна раскладка
(по умолчанию или заданная параметром vkb_KbdVariant описанным выше)
и никаких меню. Вот такой параметр был создан для этого (Клавиатура тогда меньше места занимает по вертикали):
vkb_ShowMenus = false;
По умолчанию значение этого параметра - true; то есть меню раскладок присутствуют.
Попросили сделать параметр управления показом Справки (желтый tooltip, появляющийся при
подводе мышки к надписи "Справка/Help" на рисунке),
если Администратор решил, что ни к чему это:
vkb_Help = false;
Тогда при подводе мышки к тому месту рисунка,
только опция title будет работать,
показывая в крошечной белой строке URL страницы Пояснений...
По умолчанию значение этого параметра - true; то есть желтая рамка со Справкой - работает.
Расположение рамки Клавиатуры при первом вызове для Варианта 2
(его Пример был описаны выше).
Это если кому-то захочется поэкспериментировать, что в общем-то не рекомедуется, так как было отлажено,
например, для случая, если до 1-го нажатия кнопки вызова страница была проскроллирована направо и т.п.
По умолчанию значения этих параметров следующие (right; top):
vkb_Init2right = 10;
vkb_Init2top = 10;
Не показывать строку с именем автора:
как сказано в начале страницы насчет условий использования программного кода Клавиатуры,
согласно стандартной лицензии GPL не положено убирать имя автора из того места, где оно
показано. Во встраиваемых вариантах Клавиатуры моё имя видно, если нажать кнопку
"Показать/скрыть список раскладок":
Но если очень надо :-) то можно НЕ показывать эту строку. Вот такой параметр был создан для этого:
vkb_Copyright = false;
По умолчанию автор указан, то есть значение параметра - true;
Ввод - только мышкой, а значит, нет текста про ввод с клавиатуры и кнопок "Вкл"/"Выкл"
Этот параметр работает для всех вариантов, кроме 1-го (естественно, так как этот вариант специальный, когда
ввод с клавиатуры сразу работает, до показа рамки с картинкой)
vkb_MouseOnly = true;
Этот параметр - для "минималистского" варианта, когда Клавиатура например работает для поля
поиска продуктов в Интернет-магазине и не нужны сложные управляющие элементы.
В таком случае и меню раскладок не нужно - на экране будет только рисунок для ввода мышкой
(раскладка - по умолчанию или задана параметром vkb_KbdVariant )
Поэтому данный параметр приводит к тому, что следующие параметры задаются в коде Клавиатуры,
если он задан:
vkb_ShowMenus=false; vkb_Help = false;
Ну и может быть при данном параметре стоит задать (чтобы в рамке только рисунок был и больше ничего)
параметр, описанный выше -vkb_Copyright = false;
По умолчанию значение параметра vkb_MouseOnly -false; то есть ввод - не только мышкой.
Павел Городянский
Инструкции: русский под Windows и в Интернете: http://WinRus.com
несколько отзывов от посетителей сайта
Понравилось? Можете послать автору вознаграждение, нажав на кнопку
(откроется новое окно):