Mantis的附件图片实现预览弹出层动画效果预览图片

it2022-05-05  164

方法1:

在Mantis的配置文件(config_defaults_inc.php)中,加入此句,将这个值设的很大,就可以直接看到图片

$g_preview_attachments_inline_max_size = 10 * 1024 * 1024; 设置高和宽 $g_preview_max_height = 400; $g_preview_max_width = 700;

     这个方法其实不错,但是有个弊端,小尺寸的图片效果不错,但是大尺寸的图片,可能就还是看不起,还是得下载下来看,

    于是继续探究

方法2:

在Mantis的配置文件config_inc.php加

$g_form_security_validation = OFF;

然后在core\file_api.php文件中,修改一段内容

$t_attachment['download_url'] = "file_download.php?file_id=$t_id&type=bug&show_inline=1";

此方法实现的效果就是,点击图片附件,将不会下载,而是直接在本页面预览大图片,基本已经很方便实用了

方法3:

这个方法我们引入第三方控件,实现更佳酷炫的图片预览效果

1.下载lightbox2 ,地址http://lokeshdhakar.com/projects/lightbox2/

解压js和css两文件夹(其他不用)到mantis根目录下,如果js包下面没有jquery-1.7.2.min.js、jquery-ui-1.8.18.custom.min.js、jquery.smooth-scroll.min.js,请自行下载

2.到core\print_api.php下,找到print_bug_attachments_list 方法,在其内部加上

echo "<script src=\"js/jquery-1.7.2.min.js\"></script>"; echo "<script src=\"js/jquery-ui-1.8.18.custom.min.js\"></script>"; echo "<script src=\"js/jquery.smooth-scroll.min.js\"></script>"; echo "<script src=\"js/lightbox.js\"></script>"; echo "<link rel=\"stylesheet\" href=\"css/lightbox.css\" type=\"text/css\" media=\"screen\" />";

(就是使其倒入刚下载的js与css)

3.继续在到core\print_api.php下,找到if ( $t_attachment['can_download'] ),将第一处的a标签最后,加入rel=”lightbox”或者rel=”lightbox[groupname]“,就是这样

$t_href_start = '<a href="' . string_attribute( $t_attachment['download_url'] ) . '" rel="lightbox[group]" >';

比如注释掉echo $t_href_start;4.再修改一下if ( !$t_attachment['exists'] ) 中的部分内容就更完美了

//echo $t_href_start;

再将

echo $t_href_end . ' ' . $t_href_start . $t_file_display_name . $t_href_end. $t_href_clicket . ' (' . $t_filesize . ' ' . lang_get( 'bytes' ) . ') ' . '<span>' . $t_date_added . '</span>';

改成

echo  $t_file_display_name  . $t_href_clicket . ' (' . $t_filesize . ' ' . lang_get( 'bytes' ) . ') ' . '<span>' . $t_date_added . '</span>';

OK,我们一起看一下现在的效果,点击图片

 

现在就变的很酷炫了哦!还可以直接看下一张图片。赶紧试试吧,

以上3种方法均是独立的,您只要选择一种或二种

 

 


最新回复(0)