Как сделать кнопку в панели с ббкодами?

Автор Dganic, 08 марта 2010, 13:39:40

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Dganic

Собственно сабж обычная кнопка-ссылка по клику на которую открывалосьбы новое окошко

Dganic

Ап! Товарищи программисты помоги, в какую сторону капнуть..

GeorG

Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Макар

Встал и передомной такой вопрос  ::)
есть картинка кнопки, нашел место где будет выводится кнопка

в Subs-Editor.php добавляю код

<add after>
array(
'image' => 'button',
'code' => 'up_add',
'before' => '[upload]',
'after' => '[/upload]',
'description' => $txt['upload file']
),
</add after>


в таком виде при нажатии на кнопку в поле ответа вставляются теги [upload] [/upload]

но   мне надо по нажатию на эту кнопку не теги вставлять , а вызвать из ява скрипта editor.js функцию

// Launch Upload.
smc_Editor.prototype.up_add = function()
{
reqWin(smf_prepareScriptUrl(smf_suburl) + 'action=media;sa=' + (this.opt ? this.opt.sUniqueId : this.sUniqueId),  false);

return true;
}


как это правильно делается  wallbash ? ?
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Макар

Up
еще актуально ::)

не у кого умных мыслей нет ?  wallbash
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny

Mr. Anviss

#5
Цитата: Makar от 01 апреля 2010, 10:02:24
Up
еще актуально ::)

не у кого умных мыслей нет ?  wallbash
Есть. А что?
Добавлено позже...

После того, что Вы сделали осталось изменить в файле editor.js ф-цию smc_Editor.prototype.handleButtonClick = function (oButtonProperties){}
В моем примере следует заменить ее полностью на:

smc_Editor.prototype.handleButtonClick = function (oButtonProperties)
{
   this.setFocus();

   switch(oButtonProperties.sCode)
      {
      case 'up_add':
      alert('Hello World!');
      break;
      default:
      // A special SMF function?
      if (oButtonProperties.sCode in this.oSmfExec)
         this[this.oSmfExec[oButtonProperties.sCode]]();
      else
      {
         // In text this is easy...
         if (!this.bRichTextEnabled)
            {
            // Replace?
            if (!('sAfter' in oButtonProperties) || oButtonProperties.sAfter == null)
               replaceText(oButtonProperties.sBefore.replace(/\\n/g, '\n'), this.oTextHandle)

            // Surround!
            else
               surroundText(oButtonProperties.sBefore.replace(/\\n/g, '\n'), oButtonProperties.sAfter.replace(/\\n/g, '\n'), this.oTextHandle)
         }
         else
         {
            // Is it easy?
            if (oButtonProperties.sCode in this.oSimpleExec)
               this.smf_execCommand(this.oSimpleExec[oButtonProperties.sCode], false, null);

            // A link?
            else if (oButtonProperties.sCode == 'url' || oButtonProperties.sCode == 'email' || oButtonProperties.sCode == 'ftp')
               this.insertLink(oButtonProperties.sCode);

            // Maybe an image?
            else if (oButtonProperties.sCode == 'img')
               this.insertImage();

            // Everything else means doing something ourselves.
            else if ('sBefore' in oButtonProperties)
               this.insertCustomHTML(oButtonProperties.sBefore.replace(/\\n/g, '\n'), oButtonProperties.sAfter.replace(/\\n/g, '\n'));

         }
      }

      this.updateEditorControls();

      // Finally set the focus.
      this.setFocus();
      break;
      }
   
}


Макар

Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny


Макар

Спасибо. Пошел переваривать.
держи 1.000.000€
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny