Показать сообщение отдельно
Старый 17.04.2021, 10:06 Вверх   #338
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо BB Codes Wrapper in Editor SK / Разбивка строки кнопок ВВ-кодов в редакторах на несколько строк

Автор: 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 Кб)
 
2 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.07211 секунды с 10 запросами