Есть необходимость вписать в окно tickbox'а еще немного нужной информации. Ну в то окно, в котором показывается большая картинка. Крутил, вертел, никак не могу понять как это сделать. Ведь он забирает информацию исключительно с тега <а>. В частности, нужно чтобы title в это окне выводился не просто текстом, а ссылкой на ноду.
Как такого добиться? Интересуют все варианты.
Комментарии
Пришлось успешно решать вопрос самому путем некоторой модернизации модуля Thickbox, а именно файла thickbox.js. Знаю, что модули менять не хорошо, но другого решения не нашел.
Для передачи самой информации для отображения пришлось использовать технологию ajax. В корневую директорию сайта был добавлен файлик, который по запросу выдает нужный xml. Именно этот файл, с нужными параметрами устанавливается в href thickbox'а. Чтобы это хозяйство заработало, надо у тега А поставить стиль thickbox-ajax.
В файл thickbox.js был добавлен еще один инициализатор, в котором происходит вызов скрипта для получения нужных данных и вызов метода tb_show с передачей туда полученного xml.
tb_init1('a.thickbox-ajax, area.thickbox-ajax, input.thickbox-ajax');
imgLoader = new Image(); //
}
function tb_init1(domChunk)
{
$(domChunk).click(function() {
var t = this.title || this.name || null;
var a = this.href || this.alt;
var g = this.rel || false;
jQuery.get(
a,
function(xml) { tb_show ( null, null, null, xml); },
'xml'
);
this.blur();
return false;
});
}
Метод tb_show, который показывает большую картинку получил еще один параметр, в который может передаваться xml. Потом идет сам разбор полученных данных. Ну а дальнейшая визуализация уж потом делается кому как надо в том же самом tb_show.
if (xml)
{
var caption = jQuery('title', xml).text();
var url = jQuery('image', xml).text();
var masterurl = jQuery('nodepath', xml).text();
var downloadurl = jQuery('download', xml).text();
}
и т.д.
Все фичи стандартного thickbox'а работают без изменений.
Вот. Критикуйте. А может пригодится кому.
Посмотреть как это работает можно на карусельке на моем сайте http://www.bestgameplace.ru