Media Gallery linkelési gond

biggabo19 képe

Kedves Drupal közösség!

Egy galéria megjelenítés egyszerű, de számomra kicsit fejtörést okozó probléma miatt kérem segítségeteket.
Az érintet galéria egyik példűja: http://belvarbcs.hu/termeszettudomany/galeria-kepek/lejart-gyogyszerek-a...

az alábbi linken megtekinthető. A megoldás a Media Gallery modul adja, mely számomra nagyon jól bejött, egyetlen kivétellel. Amikor az egyik képre kattintasz akkor Lightbox módban előjön a kép, alul lapozható is, illetve diavetítés is kérhető. Csakhogy amikor a képre kattintasz, akkor egy kicsinyített nézetmódba beviszi a látogatót.
Azt szeretném megoldani, hogy a képre kattintva (mikor lightbox-al jelenik meg) nem történjen semmi, csak a lenti lapozó használatával tudjuk a képeken előre és visszalépni.

A rendszer Drula 7-es.

Valakinek ötlete?

Taxonomy upgrade extras: 
Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 
wouhn képe

biggabo19 képe

Köszönöm a linket, végigolvasom és jelzek. Üdv.

0
0
biggabo19 képe

Gondoltam átveszem, ha időközben az adott oldal nem lenne elérhető, mert mindenkinek jó lehet a későbbiekben. Természetesen a forást megjelöltem:

FORRÁS: http://blog.serpens.hu/drupal-media-gallery-colorbox-k%C3%A9p-linkj%C3%A...
---------------------------------------------------------------------
A Colorbox talán a legsokoldalúbb lightbox modul Drupal alá, de vita nélkül a kedvencem. Egyszerűségében rejlik ereje, és nem próbál több lenni mint amire hivatott. Az olyan albummegoldásokkal pedig mint például a Media Gallery, akár nagyon komplex de könnyen kezelhető kép és videó gyűjteményeket hozhatunk létre.

A lightbox egy olyan tartalommegjelenítési módszer aminek megtekintésekor nem hagyjuk el az adott oldalt, hanem egy overlay (egy új felső megjelenítési réteg) segítségével nézzük meg azt. Ilyennel találkozhatunk például közösségi oldalakon képek böngészése közben. Hasonlót érhetünk el a mi Media Gallery-nkben is

Drupalban számos modult találhatunk ennek a megvalósítására, tehát nyugodtan böngésszünk, hogy megtaláljuk a számunkra legmegfelelőbbet.

A PROBLÉMA

Alapértelmezetten a Colorbox miután megjeleníti a képet egy hivatkozás készül el, így a felhasználók a képre való kattintáskor a kép feltöltésének egyéni oldalára jutnak. Gyakran előfordul azaz eset, hogy mi ezt nem szeretnénk. Például albumba/slideshowba vannak összekapcsolva a képeink és a cél inkább az lenne, hogy a következő képre jussanak, vagy egyáltalán ne is legyen hivatkozás.

A HIVATKOZÁS MEGSZÜNTETÉSE

A következő megoldás elég csúnya, tehát nem javaslom senkinek, mert ugyebár nem szabad a modulok kódjában nyúlkálni. De azért megosztom hátha valakinek pont erre van szüksége.

Keressük meg a modulkönyvtárban a media_gallery.theme.inc fájlt.

Cseréljük le a következő sort

$link_vars['no_link'] = $element['#bundle'] == 'video' ? TRUE : FALSE;

erre

$link_vars['no_link'] = $element['#bundle'] == 'video' ? TRUE : FALSE;
$link_vars['no_link'] = TRUE;

Tehát nem töröltünk ki semmit, csak az utóbbi sorral felülbíráltuk az előző kifejezést. A sor kitörlése problémákat szülne, tehát ne tegyük. Ez az opció a videókhoz készült eredetileg, de így működik képekre is.

KÖVETKEZŐ KÉPRE UGRÁS

Ebben az esetben a lightboxban megjelenő képre kattintva a célunk az, hogy a következő képet töltse be a Colorbox. Ezt egy kis Javascript-el fogjuk elérni.

Első lépésként hozzuk létre a JS fájlt az aktuális témánk "js" könyvtárában media_gallery_ link.js néven.

Másoljuk bele az alábbi kódot és mentsük el a fájlt.

(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);
Miután elmentettük nyissuk meg a témánk .info fájlját és adjuk hozzá a scriptünket.

scripts[] = js/media_gallery_link.js
Ezek után már tesztelhetjük is, hogy mindent jól csináltunk-e. Ha nem működik azonnal, akkor frissítsd az oldalad és töröld a gyorsítótárak tartalmát.

1
0
Darkstar képe

A 7.x-1.0-beta8 -as Media Gallery modulnál ez nem pont így van.

Nem ez a sor van benne
$link_vars['no_link'] = $element['#bundle'] == 'video' ? TRUE : FALSE;

hanem ez (208. sor)
$link_vars['no_link'] = $element['#bundle'] != 'image' ? TRUE : FALSE;

és úgy működik, ha ezt adom hozzá
$link_vars['no_link'] = FALSE;

A javascript az változtatás nélkül jó és kell is.

A 7.x-1.0-beta8 -nál más hiba is van.
Az 1.4.37 -es colorbox plugint telepítettem és ilyesmi hibaüzenetet kaptam:

Warning: file_get_contents(sites/all/libraries/colorbox/colorbox/jquery.colorbox-min.js) [function.file-get-contents]: failed to open stream: No such file or directory in _locale_parse_js_file() (line 1488 of /path/to/my/site/includes/locale.inc).

A hiba azért van, mert a jquery.colorbox-min.js helye változott a könyvtáron belül. A colorbox könyvtárból kikerült a plugin gyökérkönyvtárába.

Itt találtam meg a megoldást: https://www.drupal.org/node/1930042
És ezt a patch -et tettem fel a media_gallery.module fájlra: https://www.drupal.org/files/issues/media-gallery-colorbox_1_4_37_compat...

Remélem nem gond, hogy ezt ide írtam és nem nyitottam neki új témát.

0
0