Эдакий ответ громоздкому и глючному моду Advanced BBCode Box 3
Итак, сначала скачиваем и распаковываем приаттаченный архив, заливаем файлы картинок в папку: /styles/subsilver2/theme/images/
Далее открыть /styles/subsilver2/theme/stylesheet.css, найти:
Код: Выделить всё
.btnbbcode {Код: Выделить всё
.btncustombbcode {Код: Выделить всё
.btnbbcode {
background-color: #DCE1E5;
background-repeat: no-repeat;
width: 30px;
border-style: none;
background-position: center;
}
Код: Выделить всё
<!-- IF S_BBCODE_ALLOWED -->
<input type="button" class="btnbbcode" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px;" onclick="bbstyle(0)" onmouseover="helpline('b')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px;" onclick="bbstyle(2)" onmouseover="helpline('i')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px;" onclick="bbstyle(4)" onmouseover="helpline('u')" onmouseout="helpline('tip')" />
<!-- IF S_BBCODE_QUOTE -->
<input type="button" class="btnbbcode" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" onmouseover="helpline('q')" onmouseout="helpline('tip')" />
<!-- ENDIF -->
<input type="button" class="btnbbcode" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="y" name="addlitsitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
<!-- IF S_BBCODE_IMG -->
<input type="button" class="btnbbcode" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
<!-- ENDIF -->
<!-- IF S_LINKS_ALLOWED -->
<input type="button" class="btnbbcode" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="bbstyle(16)" onmouseover="helpline('w')" onmouseout="helpline('tip')" />
<!-- ENDIF -->
<!-- IF S_BBCODE_FLASH -->
<input type="button" class="btnbbcode" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" onmouseover="helpline('d')" onmouseout="helpline('tip')" />
<!-- ENDIF -->Код: Выделить всё
<!-- IF S_BBCODE_ALLOWED -->
<input type="button" class="btnbbcode" accesskey="b" name="addbbcode0" style="background-image: url('/styles/subsilver2/theme/images/bold_button.gif'); height: 30px;" onclick="bbstyle(0)" onmouseover="helpline('b')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="i" name="addbbcode2" style="background-image: url('/styles/subsilver2/theme/images/italic_button.gif'); height: 30px;" onclick="bbstyle(2)" onmouseover="helpline('i')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="u" name="addbbcode4" style="background-image: url('/styles/subsilver2/theme/images/underline_button.gif'); height: 30px;" onclick="bbstyle(4)" onmouseover="helpline('u')" onmouseout="helpline('tip')" />
<!-- IF S_BBCODE_QUOTE -->
<input type="button" class="btnbbcode" accesskey="q" name="addbbcode6" style="background-image: url('/styles/subsilver2/theme/images/quote_button.gif'); height: 30px;" onclick="bbstyle(6)" onmouseover="helpline('q')" onmouseout="helpline('tip')" />
<!-- ENDIF -->
<input type="button" class="btnbbcode" accesskey="c" name="addbbcode8" style="background-image: url('/styles/subsilver2/theme/images/code_button.gif'); height: 30px;" onclick="bbstyle(8)" onmouseover="helpline('c')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="l" name="addbbcode10" style="background-image: url('/styles/subsilver2/theme/images/list_button.gif'); height: 30px;" onclick="bbstyle(10)" onmouseover="helpline('l')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="o" name="addbbcode12" style="background-image: url('/styles/subsilver2/theme/images/num_list_button.gif'); height: 30px;" onclick="bbstyle(12)" onmouseover="helpline('o')" onmouseout="helpline('tip')" />
<input type="button" class="btnbbcode" accesskey="y" name="addlitsitem" style="background-image: url('/styles/subsilver2/theme/images/element_list_button.gif'); height: 30px;" onclick="bbstyle(-1)" onmouseover="helpline('e')" onmouseout="helpline('tip')" />
<!-- IF S_BBCODE_IMG -->
<input type="button" class="btnbbcode" accesskey="p" name="addbbcode14" style="background-image: url('/styles/subsilver2/theme/images/img_button.gif'); height: 30px;" onclick="bbstyle(14)" onmouseover="helpline('p')" onmouseout="helpline('tip')" />
<!-- ENDIF -->
<!-- IF S_LINKS_ALLOWED -->
<input type="button" class="btnbbcode" accesskey="w" name="addbbcode16" style="background-image: url('/styles/subsilver2/theme/images/url_button.gif'); height: 30px;" onclick="bbstyle(16)" onmouseover="helpline('w')" onmouseout="helpline('tip')" />
<!-- ENDIF -->
<!-- IF S_BBCODE_FLASH -->
<input type="button" class="btnbbcode" accesskey="d" name="addbbcode18" style="background-image: url('/styles/subsilver2/theme/images/flash_button.gif'); height: 30px;" onclick="bbstyle(18)" onmouseover="helpline('d')" onmouseout="helpline('tip')" />
<!-- ENDIF -->Код: Выделить всё
<input type="button" class="btnbbcode" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" Код: Выделить всё
class="btnbbcode"Код: Выделить всё
class="btncustombbcode"Для замены картинок на свои оптимальным способом будет указание того же имени однименной картинки. Если Ваши картинки имеют ширину более 30 пикселей, то не забываем прописать это в файле stylesheet.css в строке
Код: Выделить всё
width: 30px;Пользовательские BBocde
Чтобы заменить аналогичные пользовательские bbcode, делаем так:
1. Открыть в браузере форум, открываем страницу полной формы ответа, при этом, все пользовательские bbcode, которые будем далее менять на картинки, должны быть включены и отображаться на странице. Далее смотрим исходный код страницы, найти в исходном коде:
Код: Выделить всё
<input type="button" class="btncustombbcode" name="addbbcodeКод: Выделить всё
name="addbbcode.."Код: Выделить всё
value="..."Таким образом, находим все идентификаторы наших пользовательских bbcode.
3. Теперь открыть /styles/subsilver2/template/posting_buttons.html, найти:
Код: Выделить всё
<span class="genmed nowrap">{L_FONT_SIZE}: <select class="gensmall" name="addbbcode20" onchange="bbfontstyleКод: Выделить всё
<!-- IF S_BBCODE_ALLOWED and .custom_tags -->
<input type="button" class="btnbbcode" name="addbbcodeXX" style="background-image: url('/styles/subsilver2/theme/images/...'); height: 30px;" onclick="bbstyle(XX)" onmouseover="helpline('cb_XX')" onmouseout="helpline('tip')" />
<!-- ENDIF -->Код: Выделить всё
name="addbbcodeXX"Код: Выделить всё
onclick="bbstyle(XX)"Код: Выделить всё
onmouseover="helpline('cb_XX')"5. В том же блоке кода найти:
Код: Выделить всё
'/styles/subsilver2/theme/images/...'6. Далее в этом же добавленном блоке кода находим:
Код: Выделить всё
<!-- ENDIF -->Код: Выделить всё
<input type="button" class="btnbbcode" name="addbbcodeXX" style="background-image: url('/styles/subsilver2/theme/images/...'); height: 30px;" onclick="bbstyle(XX)" onmouseover="helpline('cb_XX')" onmouseout="helpline('tip')" />7. В том же шаблоне posting_buttons найти:
Код: Выделить всё
<!-- IF S_BBCODE_ALLOWED and .custom_tags -->
<tr valign="middle" align="{S_CONTENT_FLOW_BEGIN}">
<td colspan="2">
<!-- BEGIN custom_tags -->
<input type="button" class="btncustombbcode" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')"<!-- ENDIF --> />
<!-- END custom_tags -->
</td>
</tr>
<!-- ENDIF -->Код: Выделить всё
<!-- <!-- IF S_BBCODE_ALLOWED and .custom_tags -->
<tr valign="middle" align="{S_CONTENT_FLOW_BEGIN}">
<td colspan="2">
<!-- BEGIN custom_tags -->
<input type="button" class="btncustombbcode" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})"<!-- IF custom_tags.BBCODE_HELPLINE !== '' --> onmouseover="helpline('cb_{custom_tags.BBCODE_ID}')" onmouseout="helpline('tip')"<!-- ENDIF --> />
<!-- END custom_tags -->
</td>
</tr>
<!-- ENDIF --> -->Таким образом получаем пользовательские bbcode картинками в одной строке со стандартными. Из минусов следует отметить то, что удалении пользовательских bbcode в админке придется ручками удалять соответствующий код из указанного выше шаблона. Из плюсов: когда Вы отжимаете (убираете) галочку в настройке "Показывать на странице ответа" какого-либо bbcode в админке, это сработает и для получившихся у нас Ббкодов картинками.
P.S. При проделывании данной инструкции у меня возник вопрос к профи: почему в БД в таблице phpbb_bbcodes в поле bbcode_id стоит отличный от реального отображения в исходном коде браузера идентификатор (к примеру, у меня в БД стоит значение 13, а в исходном коде - 22)?
Добавлено Alek$'ом:
Вариант для prosilver
Добавлено Айдаром:
Для просильвера благодаря Nekstati есть более простое решение с использованием яваскрипт.
То же самое решение от Nekstati для субсильвера.

