Автор: veressk (SK)
Версия: 1.0
Кодировка: UTF-8
Язык: Русский
Источник
Описание: Хак для разбивки строки кнопок ВВ-кодов в редакторах на несколько строк. Актуально для тех, у кого очень много кастомных ВВ-кодов.
Дополнительно:
Хак представляет собой модифицированную и ОЧЕНЬ сильно урезанную версию хака "bbcodeoptimizer" / "Optimize BB Codes and Editor". Ссылка:
https://www.vbulletin.org/forum/showthread.php?t=207423
Оригинальный хак позволяет дополнительно менять порядок ВВ-кодов в панели редактора и управлять сепараторами ВВ-кодов, НО (!!!) требует БОЛЬШОГО количества ручных правок php-файлов форума.
Мой вариант позволяет просто разбивать строку иконок ВВ-кодов на несколько строк по указанному в настройках количеству ВВ-кодов в одной строке. Требует правки только одного php-файла.
Установка:
1. Установить продукт обычным способом.
2. В файле includes/functions_editor.php
Найти:
PHP код:
function construct_editor_extra_buttons($editorid, $allow_custom_bbcode = true)
{
global $vbphrase, $vbulletin;
$extrabuttons = '';
if ($allow_custom_bbcode)
{
foreach ($vbulletin->bbcodecache AS $bbcode)
{
if ($bbcode['buttonimage'] != '')
{
$tag = strtoupper($bbcode['bbcodetag']);
$alt = construct_phrase($vbphrase['wrap_x_tags'], $tag);
$extrabuttons .= "<td><div class=\"imagebutton\" id=\"{$editorid}_cmd_wrap$bbcode[twoparams]_$bbcode[bbcodetag]\"><img src=\"$bbcode[buttonimage]\" alt=\"$alt\" width=\"21\" height=\"20\" border=\"0\" /></div></td>\n";
}
}
}
return $extrabuttons;
}
Заменить на (все дополнительные строки я пометил как // SK):
PHP код:
function construct_editor_extra_buttons($editorid, $allow_custom_bbcode = true)
{
global $vbphrase, $vbulletin;
$extrabuttons = '';
$x = 0; // SK
$y = !$vbulletin->options['extbbimagewrap']; // SK
$z = $vbulletin->options['extbbimagewrap']; // SK 1 = always wrap user bb-codes
if ($allow_custom_bbcode)
{
foreach ($vbulletin->bbcodecache AS $bbcode)
{
if ($bbcode['buttonimage'] != '')
{
if ($z) {$extrabuttons .= "</tr>\n</table>\n"; $z = 0;} // SK
$x = $x + $y; // SK
if (!$x) $extrabuttons .= "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n<tr>\n"; // SK
$x++; // SK
$tag = strtoupper($bbcode['bbcodetag']);
$alt = construct_phrase($vbphrase['wrap_x_tags'], $tag);
$extrabuttons .= "<td><div class=\"imagebutton\" id=\"{$editorid}_cmd_wrap$bbcode[twoparams]_$bbcode[bbcodetag]\"><img src=\"$bbcode[buttonimage]\" alt=\"$alt\" width=\"21\" height=\"20\" border=\"0\" /></div></td>\n";
if ($x >= $vbulletin->options['bbimagewrap']) // SK
{ // SK
$x = 0; // SK
$y = 0; // SK
$extrabuttons .= "</tr>\n</table>\n"; // SK
} // SK
}
}
}
return $extrabuttons;
}
Настройка:
Настройка переноса ВВ-кодов производится в
Основные настройки - Настройки ВВ-кодов
В нижней части будет раздел:
Настройка переноса ВВ-кодов по количеству -> Количество картинок ВВ-кодов в одной строке редактора:
Значение по-умолчанию: 20
Кроме того можно настроить принудительный перенос пользовательских ВВ-кодов на другую строку:
Параметр "Всегда переносить пользовательские ВВ-коды на другую строку:"
Значение по-умолчанию: Нет
BB Codes Wrapper in Editor SK / Разбивка строки кн (2.4 Кб)