Категория:
Опубликовано:
Кнопка BUEditor "Изображение с прессетом"
Как загрузить изображение с применением одного из перссетов Imagecache в BUEditor.
Нам понадобится модуль IMCE, ну и собственно сам BUEditor.
UPD: Метод работает в Drupal версий ниже 7.21!
Качаем и устанавливаем их в sites/all/modules. Включаем на странице модулей admin/modules.
На странице BUEditor (admin/config/content/bueditor) выбираем профиль в который нужно добавить кнопку. Нажимаем "Правка".
Проверяем подключение расширения bue.min.default.js. Если не подключено, во вкладку "Пути редактора", в поле "Файлы расширения" копируем следующую строку:
%BUEDITOR/library/bue.min.default.js
Теперь добавляем саму кнопку.
В пустую область, в столбце "Содержимое" вставляем следующий код:
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").
Если на днях будет время - попробую обновить.