Помощь Ошибка в bb_code

Тема в разделе "DLE", создана пользователем t0wer, 8 ноя 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    733
    Симпатии:
    422
    Как мне в стандартную форму bb_code внедрить свой тэг, например [mytag][/mytag]?! т.е. при нажатии на мою кнопку будет выводиться мой тэг.
    Меня интересует только сама панель bb_code, а обработчик уже написан и протестирован.
    Все работает, кроме панели. Вот выдает ошибку на javascript код. Всю папку engine перелопатил и никак ошибку победить не могу.

    [​IMG]

    Если есть готовые или проверенные решения, то милости прошу... буду только рад.
    Заранее благодарен. С уважением...

    P.S. Там по ходу все просто, вот только что-то моя голова уже до такой простой делемы допетрить не может :nezn:
     
  2. MSW

    MSW

    Регистр.:
    27 авг 2007
    Сообщения:
    491
    Симпатии:
    408
    данное решение проверено неоднократно на версиях начиная с 6,5, кажись)))) до 8,2
    и у меня на сайте активно используется.

    1. Открываем templates\ваш_шаблон\addnews.tpl и вставляем в самое начало:

    HTML:
    <script language="JavaScript">
    function tag_url_mirror()
    {
        var FoundErrors = '';
        var thesel ='';
        if ( (ua_vers >= 4) && is_ie && is_win)
        {
        thesel = document.selection.createRange().text;
        } else thesel ='[B]Скачать (DC++)[/B]';
    
        if (!thesel) {
            thesel ='[B]Скачать (DC++)[/B]';
        }
    
        var enterURL   = prompt(text_enter_url, "");
        var enterTITLE = prompt(text_enter_url_name, thesel);
    
        if (!enterURL) {
            FoundErrors += " " + error_no_url;
        }
        if (!enterTITLE) {
            FoundErrors += " " + error_no_title;
        }
    
        if (FoundErrors) {
            alert("Error!"+FoundErrors);
            return;
        }
    
        doInsert("[URL="+enterURL+"]"+enterTITLE+"[/URL]", "", false);
    }
    </SCRIPT>
    2. Открываем файл engine\modules\bbcode.php и после строк:

    HTML:
    <div class="editor_button"  onclick="tag_url()"><img title="$lang[bb_t_url]" src="engine/skins/bbcodes/images/link.gif" width="23" height="25" border="0"></div>
    добавляем новые:

    HTML:
    <div class="editor_button"  onclick="tag_url_download()"><img title="Скачать (FTP)" src="{THEME}/bbcodes/download.gif" width="23" height="25" border="0"></div>
    3. В папку templates\ваш_шаблон\bbcodes заливаем картинки.

    4. Открываем engine\inc\inserttag.php и находим строчку:

    HTML:
    <div style="width:98%; height:25px; border:1px solid #BBB; background-image:url('engine/skins/bbcodes/images/bg.gif');">
    над ней добавляем:

    HTML:
    <script language="JavaScript">
    function tag_url_mirror()
    {
        var FoundErrors = '';
        var thesel ='';
        if ( (ua_vers >= 4) && is_ie && is_win)
        {
        thesel = document.selection.createRange().text;
        } else thesel ='[B]Скачать (DC++)[/B]';
    
        if (!thesel) {
            thesel ='[B]Скачать (DC++)[/B]';
        }
    
        var enterURL   = prompt(text_enter_url, "");
        var enterTITLE = prompt(text_enter_url_name, thesel);
    
        if (!enterURL) {
            FoundErrors += " " + error_no_url;
        }
        if (!enterTITLE) {
            FoundErrors += " " + error_no_title;
        }
    
        if (FoundErrors) {
            alert("Error!"+FoundErrors);
            return;
        }
    
        doInsert("[URL="+enterURL+"]"+enterTITLE+"[/URL]", "", false);
    }
    </SCRIPT>
    5. Находим в том же файле строку
    HTML:
    
    <div class="editor_button"  onclick="tag_url()"><img title="$lang[bb_t_url]" src="engine/skins/bbcodes/images/link.gif" width="23" height="25" border="0"></div>
    добавляем новые:

    HTML:
    <div class="editor_button"  onclick="tag_url_download()"><img title="Скачать (FTP)" src="{THEME}/bbcodes/download.gif" width="23" height="25" border="0"></div>
    6. Не забудьте залить картинки в папку engine\skins\bbcodes\images
     
    t0wer нравится это.
  3. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    733
    Симпатии:
    422
    Стоит заметить, что файл inserttag.php находится в 8.2 (в этой версии точно) не в inc\, а в inc\include\

    спасибо, я рассматривал это как вариант, но тут задача чуть пошире и ваш код под мои цели немного не доработан и тут есть одно НО:
    - хотелось бы его использовать как внедренный bb_code, например как [ b ] или
     
Статус темы:
Закрыта.