→ Кнопка для BUEditor — пользовательские подсказки по форматированию

Вчера я описала как добавить кнопку со стандартным списком фильтров формата. (Кнопка для BUEditor — Подсказки формата ввода). Сегодня мы сделаем похожую кнопку, но только с нашими кастомными подсказками по редактированию, которые мы просто напишем в блоке.

Создаем блок с инструкциями по форматированию

Создаем блок (admin/build/block/add) с инструкциями, например такой:

<div class="my-tips">
Доступны HTML теги: <em> <u> <strong> <strike> <del> <blockquote> <code> <pre> <img> <a> <abbr> <kbd> <sup> <sub> <ul> <ol> <li> <dl> <dt> <dd>

Вы можете использовать подсветку исходного кода следующими тегами: <code>, <apache>, <bash>, <css>, <drupal5>, <drupal6>, <html4>, <java>, <javascript>, <php>, <sql>. Исходный PHP-код также может быть заключен в <?php … ?> или <% … %>. Или можете указать один из вышеперечисленных языков в теге  

Цитирование: [quote=имя]Цитата[/quote]
</div>

И не забудьте списки разрешенных тегов обернуть в <code>тег1, тег2, тег3</code>

Сохраняем блок и смотрим его ID, он нам понадобиться. Например у меня номер блока = 14.

Пишем код кнопки для BUEditor

Зная номер блока (delta) и Как вывести любой блок в любом месте (D6) будем использовать следующее:

$block = module_invoke('block', 'block', 'view', 14);

На выходе получим HTML код с содержимым нашего блока. Однако, чтобы это можно было использовать в кнопке к BUEditor'у нам надо перевести HTML код в JS формат. Для этого, как и прежде, будем использовать функцию drupal_to_js():

$output = drupal_to_js($block['content']);

Теперь у нас на выходе, нормальный отформатированный код, который мы можем использовать для кнопки.

А теперь представим это в виде кнопки для бьюика:

php:
$block = module_invoke('block', 'block', 'view', 14);
$output = drupal_to_js($block['content']);
return "js: BUE.dialog.open('Подсказки по редактированию', $output, 'fadeIn');";

Ну и конечно, CSS:

.my-tips {
    max-width: 500px;
    padding: 0 5px;
}

пример

Таким образом можно запихнуть любой (текстовый) блок в кнопку для BUEditor. Grade

Ваш комментарий будет первым!

Что ты об этом думаешь?

МультиВход
ИЛИ

Комментарии