Drupal: add a js function callback to Drupal.settings

EvilChicken

New Member
Im using \[code\][drupal_add_js_()][1]\[/code\] function to add a fancybox effect to some image in my nodes (im not using the Fancybox module becose doesnt fit my needs).In short, i need to add the \[code\]titleFormat\[/code\] function to format the image title; In my javascript file, it looks like:\[code\]$("a[rel=myfancy_group]").fancybox({ 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'titlePosition': 'over', 'titleFormat': function(title, currentArray, currentIndex, currentOpts) { return '<span><b>' + title + '</b> | Image ' + (currentIndex + 1) + ' of ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>'; }});\[/code\]And this is how my \[code\]drupal_add_js\[/code\] function looks:\[code\]drupal_add_js( array( 'mycustom_fancybox' => array( 'selector' => 'div.field-field-immagini-minigallery a', 'group' => TRUE, 'options' => array( 'transitionIn' => 'elastic', 'transitionOut' => 'elastic', 'titlePosition' => 'inside', 'titleShow' => TRUE, 'width' => 500, 'cyclic' => TRUE, 'titleFormat' => ??? ) ) ), 'setting', 'footer', FALSE, TRUE, TRUE);\[/code\]EDIT i've tryed with:\[code\]//add fancybox settingsdrupal_add_js( array( 'mycustom_fancybox' => array( 'selector' => 'div.field-field-immagini-minigallery a', 'group' => TRUE, 'options' => array( 'transitionIn' => 'elastic', 'transitionOut' => 'elastic', 'titlePosition' => 'inside', 'titleShow' => TRUE, 'width' => 500, 'cyclic' => TRUE, 'titleFormat' => "function my_title_format(title, currentArray, currentIndex, currentOpts) { return '<span><b><i>' + title + '</i></b> | Immagine ' + (currentIndex + 1) + ' di ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>'; }" ) ) ), 'setting', 'footer', FALSE, TRUE, TRUE);\[/code\]but (as i supposed) Drupal render it like:\[code\]"function (title, currentArray, currentIndex, currentOpts) { return \'\x3cspan\x3e\x3cb\x3e\x3ci\x3e\' + title + \'\x3c/i\x3e\x3c/b\x3e | Immagine \' + (currentIndex + 1) + \' di \' + currentArray.length + (title.length ? \' \x26nbsp; \' + title : \'\') + \'\x3c/span\x3e\'; }"\[/code\]...and it doesnt work.I tryed \[code\]drupal_add_js( array( 'mycustom_fancybox' => array( 'selector' => 'div.field-field-immagini-minigallery a', 'group' => TRUE, 'options' => array( 'transitionIn' => 'elastic', 'transitionOut' => 'elastic', 'titlePosition' => 'inside', 'titleShow' => TRUE, 'width' => 500, 'cyclic' => TRUE, 'titleFormat' => 'my_title_format' ) ) ), 'setting', 'footer', FALSE, TRUE, TRUE);//and, in my js file, added:function my_title_format(title, currentArray, currentIndex, currentOpts) { return '<span><b><i>' + title + '</i></b> | Immagine ' + (currentIndex + 1) + ' di ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';}\[/code\]But again doestn work.
 
Back
Top