Приветствую всех!
Некоторое время назад после перехода с vBulletin 3.0.x на 3.5.x передо мною встала проблема: как поставить в форуму быстрого ответа кликабельные смайлы...
Вариант Керка со смайлами из выпадающего меню меня не устраивал по-многим причинам, посему был изобретён некий "индивидум", сочетающий в себе код одного из форумцев (если он тут появляется ещё, то прошу тебя отписать, забыл ник) + некоторые мои добаротки...
Единственное неудобство - смайлы не вставляются автоматически после установки хака, вам придётся отредактировать пути к смайлам, их описания и сам код смайла... Но так как смайлов в форуме быстрого ответа не должно быть много (да и не делает никто много) - тут не должно возникнуть никаких проблем, благо потраченные усилия оправдаются с лихвой
Данный вариант работает у меня с линейки 3.5.х по нынешнюю версию 3.6.4
Собственно, что нужно сделать: открываем шаблон
showthread_quickreply, удаляем оттуда весь код и вставляем этот:
Код:
<if condition="$show['editor_toolbar']">
<div id="{$editorid}_controls" class="controlbar">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<if condition="$show['basic_bbcode']">
<td><div class="imagebutton" id="{$editorid}_cmd_bold"><img src="$stylevar[imgdir_editor]/bold.gif" width="21" height="20" alt="$vbphrase[bold]" /></div></td>
<td><div class="imagebutton" id="{$editorid}_cmd_italic"><img src="$stylevar[imgdir_editor]/italic.gif" width="21" height="20" alt="$vbphrase[italic]" /></div></td>
<td><div class="imagebutton" id="{$editorid}_cmd_underline"><img src="$stylevar[imgdir_editor]/underline.gif" width="21" height="20" alt="$vbphrase[underline]" /></div></td>
<td><img src="$stylevar[imgdir_editor]/separator.gif" width="6" height="20" alt="" /></td>
</if>
<if condition="$show['color_bbcode']">
<td><div class="imagebutton" id="{$editorid}_popup_forecolor" title="$vbphrase[colors]">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="{$editorid}_color_out"><img src="$stylevar[imgdir_editor]/color.gif" width="21" height="16" alt="" /><br /><img src="$vboptions[cleargifurl]" id="{$editorid}_color_bar" alt="" style="background-color:black" width="21" height="4" /></td>
<td class="alt_pickbutton"><img src="$stylevar[imgdir_editor]/menupop.gif" alt="" width="11" height="16" /></td>
</tr>
</table>
</div></td>
</if>
<td><img src="$stylevar[imgdir_editor]/separator.gif" width="6" height="20" alt="" /></td>
<if condition="$show['url_bbcode']">
<td><div class="imagebutton" id="{$editorid}_cmd_createlink"><img src="$stylevar[imgdir_editor]/createlink.gif" width="21" height="20" alt="$vbphrase[insert_link]" /></div></td>
</if>
<if condition="$show['img_bbcode']">
<td><div class="imagebutton" id="{$editorid}_cmd_insertimage"><img src="$stylevar[imgdir_editor]/insertimage.gif" width="21" height="20" alt="$vbphrase[insert_image]" /></div></td>
</if>
<td><img src="$stylevar[imgdir_editor]/separator.gif" width="6" height="20" alt="" /></td>
<td><div class="imagebutton" id="{$editorid}_cmd_wrap0_quote"><img src="$stylevar[imgdir_editor]/quote.gif" width="21" height="20" alt="$vbphrase[wrap_quote_tags]" /></div></td>
</tr>
</table>
</div>
</if>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="controlbar">
<if condition="$show['qr_require_click']">
<textarea name="message" id="{$editorid}_textarea" rows="20" cols="80" style="width:$stylevar[messagewidth]; height:200px" tabindex="1" dir="$stylevar[textdirection]" disabled="disabled">$vbphrase[click_quick_reply_icon]</textarea>
<else />
<textarea name="message" id="{$editorid}_textarea" rows="20" cols="80" style="width:$stylevar[messagewidth]; height:200px" tabindex="1" dir="$stylevar[textdirection]"></textarea>
</if>
</td>
<td>
<fieldset id="{$editorid}_smiliebox" style="background-color:white" title="$vbphrase[smilies]">
<legend>$vbphrase[smilies]</legend>
<table cellpadding="4" cellspacing="0" border="0" align="center" width="150"><tr><td>
<script type="text/javascript">
<!--
vB_Editor['$editorid'] = new vB_Text_Editor('$editorid', $editortype, '$forumid', '$parsesmilie');
var QR_EditorID = '$editorid';
function InsertSmile(SmileName){
if(document.selection){
document.vbform.message.focus();
document.selection.createRange().text += SmileName + ' ';
}
else{
document.vbform.message.focus();
document.vbform.message.value+= SmileName + ' ';
}
}
//-->
</script>
<center>
<img src="images/smilies/ab.gif" onClick="InsertSmile(' :)');" title=":)" border="0" style="cursor: hand;" />
<img src="images/smilies/ac.gif" onClick="InsertSmile(' :(');" title=":(" border="0" style="cursor: hand;" />
<img src="images/smilies/bi.gif" onClick="InsertSmile(' :scream:');" title=":scream:" border="0" style="cursor: hand;" /> <br> <br>
<img src="images/smilies/al.gif" onClick="InsertSmile(' :-X');" title=":-X" border="0" style="cursor: hand;" />
<img src="images/smilies/ai.gif" onClick="InsertSmile(' O_o');" title="O_o" border="0" style="cursor: hand;" />
<img src="images/smilies/ak.gif" onClick="InsertSmile(' :cry:');" title=":cry:" border="0" style="cursor: hand;" /> <br> <br>
<img src="images/smilies/evil_3.gif" onClick="InsertSmile(' :mad:');" title=":mad:" border="0" style="cursor: hand;" />
<img src="images/smilies/ag.gif" onClick="InsertSmile(' :D');" title=":D" border="0" style="cursor: hand;" />
<img src="images/smilies/ay.gif" onClick="InsertSmile(' :good:');" title=":good:" border="0" style="cursor: hand;" /> <br> <br>
<img src="images/smilies/ad.gif" onClick="InsertSmile(' ;)');" title=";)" border="0" style="cursor: hand;" />
<img src="images/smilies/ar.gif" onClick="InsertSmile(' :happy:');" title=":happy:" border="0" style="cursor: hand;" />
<img src="images/smilies/ae.gif" onClick="InsertSmile(' :P');" title=":P" border="0" style="cursor: hand;" /> <br> <br>
</td></tr>
<tr>
<td class="smallfont" colspan="$vboptions[smcolumns]">[<a href="#" onclick="vB_Editor['$editorid'].open_smilie_window(smiliewindow_x, smiliewindow_y); return false" title="<phrase 1="$vboptions[smtotal]" 2="$totalsmilies">$vbphrase[showing_x_smilies_of_y_total]</phrase>">$vbphrase[more]</a>]</td>
</tr>
</table>
</fieldset>
<else />
<div id="smiliebox" style="display:none"></div>
</td>
</tr>
</table>
В итоге форма ответа будет выглядеть так:
Прошу обратить внимание, что если у вас стоят дополнительные BB-кнопки в форме быстрого ответа, то вам необходимо будет добавить их в этот код!
Сделайте бэкап оригинального кода шаблона, который меняете - на тот случай, чтобы потом сравнить и сделать всё красиво
Если у кого-то возникнут вопросы, то задавайте их здесь, отвечу по-возможности...
Понравился хак? Нажми "Спасибо" !