方法1:

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

1 $g_preview_attachments_inline_max_size=1000000;

效果如图

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

如上图的第三张图片

于是继续探究

方法2:

在Mantis的配置文件config_inc.php加

1 $g_form_security_validation = OFF;

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

1 $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根目录下

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

1 echo "<script src=\"js/jquery-1.7.2.min.js\"></script>";
2  
3 echo "<script src=\"js/jquery-ui-1.8.18.custom.min.js\"></script>";
4  
5 echo "<script src=\"js/jquery.smooth-scroll.min.js\"></script>";
6  
7 echo "<script src=\"js/lightbox.js\"></script>";
8  
9 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]“,就是这样

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

4.再修改一下if ( !$t_attachment['exists'] ) 中的部分内容就更完美了

比如注释掉echo $t_href_start;

1 //echo $t_href_start;

再将

1 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>';

改成

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

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

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

以上3种方法均是独立的,您只要选择一种或二种。推荐1和3配合

转载自Chengaomin's Blog

Mantis的附件图片实现预览/弹出层动画效果预览图片(LightBox2)的完美解决方案[Z]的更多相关文章

  1. UIAlertView弹出视图动画效果

    在App设计中为了加强用户体验,我们会常常加入一些友好的动画效果.比如类似UIAlertView弹出的动画效果,由于系统中并没有直接提供类似的动画API,如果我们想要做出一样的效果,那就得深入的研究一 ...

  2. div弹出层的效果带关闭按钮

    下面我做的这个是个进度条的弹出层 <style type="text/css"> #tuxiang { width: 57px; } /*div弹出框的css*/ .t ...

  3. jq原创弹出层折叠效果

    弹出层效果很多网站上都用到,今天就整理最近项目里用到的一个小效果,点击折叠弹出一个层给用户填写信息.弹出层代码都是jq动态创建,每个人写法都不一样,需求也不一样,所有选择符合自已的即可. html: ...

  4. html+javascript实现可拖动可提交的弹出层对话框效果

    本文为大家介绍下使用html+javascript实现可拖动弹出层.对话框.可提交,具体代码如下,感兴趣的朋友可以参考下,希望对大家有所帮助 <!DOCTYPE HTML PUBLIC &quo ...

  5. 窗体 dialog 弹出时动画效果

    1.先创建 anim中的 xml  动画文件 <?xml version="1.0" encoding="utf-8"? >   <set x ...

  6. jQuery第三课 点击按钮 弹出层div效果

    jQuery 事件方法 事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件. 触发实例: $("button#demo").click() 上面的例子将触发 id= ...

  7. 微信小程序弹出层动画特效

    .rules_modal_cont{ height:800rpx; width:200rpx; -webkit-animation: showZeroAlert .3s; animation: sho ...

  8. Jquery和Javascript 实际项目中写法基础-弹出窗和弹出层 (4)

     一.实际项目中有很多如下界面效果.    二.该效果可以归结为弹出窗或者弹出层来实现的,为什么这么说?看如下代码:      <!DOCTYPE html> <html> & ...

  9. jQuery点击弹出层,弹出模态框,点击模态框消失

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

随机推荐

  1. #include <queue>

    双端队列deque比向量vector更有优势 双端队列(deque) 连续存储的指向不同元素的指针所组成的数组<deque> 队列(queue) 先进先出的值的排列 <queue&g ...

  2. iOS 堆和栈 的理解

    本文部分内容整理于网络,感谢原作者. 堆(heap)和栈(stack)是C/C++编程不可避免会碰到的两个基本概念.首先,这两个概念都可以在讲数据 结构的书中找到,他们都是基本的数据结构,虽然栈更为简 ...

  3. Linux系统安装VM-Tools

    安装 vmware-tools的安装包有两个,一个是rpm包,一个是tar包,下面分别是用了这两种方法安装: 一.rpm包安装 1.在启动LINUX 虚拟机之后,在WMWare 的菜单栏中点击&quo ...

  4. Mps与Mrp区别

    MPS是完成品的计划表,描述一个特定的完成品的生产时间和生产数量.MPS是一个决定完成品生  产排程及可答应量(ATP)的程序.依据MPS,MRP得以计算在该完成品需求之下,所有组件,零件以  至原材 ...

  5. memcached的安装和linux下memcached服务自启动的配置

    关于memcached在windows和linux环境的安装,以及在Linux系统系memcached服务自启动的配置,可以参考我在csdn上下的博客, windows和linux环境下memcach ...

  6. mysql 更新 语句中 的 safe_mode

    在mysql5中,可以设置safe mode,比如在一个更新语句中UPDATE table_name SET bDeleted=0;执行时会错误,报:You are using safe update ...

  7. jquery1.11做的改变

    $('#btn-checkall').on('click', function(){}); //替换为 $('#btn-checkall-parent-static-node').on('click' ...

  8. linux 下访问mysql

    1:先进到root:/# /usr/local/mysql/bin/2:root:/# mysql -u root -p     Enter password:

  9. 5.7.2.2 min()和max()方法

    Math对象还包含许多方法,用于辅助完成简单和复杂的数学计算. 其中,min()和max()方法用于确定一组数值中的最小值和最大值.这两个方法都可以接受任意多个数值参数,如下例子: var max = ...

  10. 一个很奇特的异常 tmpFile.renameTo(classFile) failed

    刚换新电脑 win8+迈克菲 ,当tomcat把默认端口更改后(或者是启动了迈克菲的实时扫描),部署工程后,主页打不开了. 杀毒软件都会造成这个问题 百度杀毒全家桶 360全家桶 关掉就好了 .怀疑是 ...