Категория:
Опубликовано:

Кнопка BUEditor "Изображение с прессетом"

BUEditor кнопка Imagecache

Как загрузить изображение с применением одного из перссетов Imagecache в BUEditor.

Нам понадобится модуль IMCE, ну и собственно сам BUEditor.

UPD: Метод работает в Drupal версий ниже 7.21!

Качаем и устанавливаем их в sites/all/modules. Включаем на странице модулей admin/modules.

BUeditor.png

На странице BUEditor (admin/config/content/bueditor) выбираем профиль в который нужно добавить кнопку. Нажимаем "Правка".

Проверяем подключение расширения bue.min.default.js. Если не подключено, во вкладку "Пути редактора", в поле "Файлы расширения" копируем следующую строку:

%BUEDITOR/library/bue.min.default.js
bueditor min

Теперь добавляем саму кнопку.

BUeditor add button.png

В пустую область, в столбце "Содержимое" вставляем следующий код:

php:
if (!function_exists('image_styles')) return;
$filepath = url(file_stream_wrapper_get_instance_by_scheme('public')->getDirectoryPath());
$presets = array('' => '');
foreach (image_styles() as $name => $style) {
  $presets[$name]= $name;
}
$presets = drupal_json_encode($presets);

return "js:
var form = [
  {name: 'src', title: 'Image URL', suffix: E.imce.button('attr_src'), required: 1},
  {name: 'preset', title: 'Image style', type: 'select', options: $presets},
  {name: 'alt', title: 'Alternative text', required: 1}
];
var fp = '$filepath';
//open dialog
E.tagDialog('img', form, {title: 'Image Style', submit: function(tag, form) {
  var ps = form.elements.attr_preset;
  var url = form.elements.attr_src;
  if (ps.value) {
    if (url.value.indexOf(fp) == 0) {
      url.value = fp +'/styles/'+ ps.value + '/public' + url.value.substr(fp.length);
    }
    ps.value = '';
  }
  E.tgdSubmit(tag, form);
}});
//update fields
var el = $('form', E.dialog)[0].elements;
var url = el.attr_src.value;
var rx = /\/styles\/([^\/]+)\/public\/(.+)$/;
var M = url.match(rx);
if (M) {
  el.attr_src.value = fp + '/' + M[2];
  el.attr_preset.value = M[1];
}
";

Сохраняем настройки. Profit.

Теги: 
Если у Вас возникли вопросы, замечания, предложения или просто благодарность - пишите в комментариях.
Делитесь полезными материалами в социальных сетях.

Комментарии

А как сделать кнопку чтоб добавлять смайлы?

Сделал пост, специально для Вас.

Огромное СПАСИБО! В интернете не нашел нормальную инструкцию.
Буду пробовать Ваш метод. Обязательно отпишусь.

не работает ваш метод

Метод немного устарел. Брал с оф. ресурса. Сейчас для получения ссылки на изображение нужен специальный токен ("itok").

Если на днях будет время - попробую обновить.