добрый день.
Есть коллекция галерей на media gallery и лайтбокса на стр : /gallery/oboi-na-rabochiy-stol
на этой стр. ссылки на : /gallery/kino, /gallery/kosmos, /gallery/priroda, итд...
При нажатии на картинку (уже на стр. gallery/kino), она обрабатывается лайтбоксом, но при нажатии второй раз ведет на ноду
/media-gallery/detail/59/749
Как заменить адрес? (хде?) /media-gallery/detail/59/749 на gallery/kino/59/749 или вообще убрать эту ссылку (чтоб лайтбокс уменьшал картинку обратно).
Пробовал в адресах....не получается..
Комментарии
Есть такой баг в медиа галереи (ну для меня он баг). Я с помощью JS сделал что при клике показывает след. картинку.
а где что вставить или поменять , чуть подробнее плизззз
еще я это делаю для того что бы поисковик либо не переходил на ноду либо переходил, но на нормальный адрес (для оптимизации ссылок) а боты вроде js не особо понимают. нет?
Ну просто меняю ссылку элемента, мне для поисковиков не нужно, я ставил с NoFollow. Код позже только смогу скинуть.
thanks
такая же проблема
up
Советуют так (у меня тоже получилось):
В файле sites/all/modules/media_gallery/media_gallery.theme.inc ищем функцию template_preprocess_media_gallery_media_item_thumbnail (примерно 108 строка) конструкцию:
if ($lightbox) {
$element['file']['#attached']['js'][] = drupal_get_path('module', 'media_gallery') . '/colorbox-display.js';
$element['file']['#attached']['library'][] = array('media_gallery', 'colorbox');
}
заменяем на следующую:
if ($lightbox) {
$element['file']['#attached']['js'][] = drupal_get_path('module', 'media_gallery') . '/colorbox-display.js';
$element['file']['#attached']['js'][] = drupal_get_path('module', 'media_gallery') . '/colorbox-behavior.js';
}
Затем в папке модуля создаем файлик colorbox-behavior.js, в котором пишем:
(function ($) {
Drupal.behaviors.initColorboxDefaultStyle = {
attach: function (context, settings) {
$(document).bind('cbox_complete', function () {
$('.lightbox-stack .gallery-thumb-inner a').click(function(e) {
e.preventDefault();
$.colorbox.next();
});
});
}
};
})(jQuery);