织梦的图集模型默认的调用是比较复杂的,样式也不大好修改,碰到一些需要调用很多图片,并运用js等完成一些特效的情况,往往无法很好实现。No牛网今天从网络上找到了这样的函数,对织梦默认的图集调用进行了一些修改,可以很好的自定义调用不同的样式、图片数量、图片大小等参数,比较实用。
下面是具体的实现方式,主要是添加一个自定义的函数,在/include/common.func.php文件或者include/helpers/extend.helper.php的最后面加上如下的代码:
01 |
if (!function_exists( 'Getimgs' )) |
03 |
function Getimgs( $aid , $imgwith = 300, $imgheight = 270, $num = 0, $style = '' ) |
07 |
$row = $dsql -> getone( "Select imgurls From `dede_addonimages` where aid='$aid'" ); |
08 |
$imgurls = $row [ 'imgurls' ]; |
09 |
preg_match_all( "/{dede:img (.*)}(.*){\/dede:img/isU" , $imgurls , $wordcount ); |
10 |
$count = count ( $wordcount [2]); |
11 |
if ( $num > $count || $num == 0){ |
14 |
for ( $i = 0; $i < $num ; $i ++){ |
15 |
preg_match_all( "/text=\&;(.*)\&;/isU" , $wordcount [1][ $i ], $textword ); |
16 |
$alttext =trim( $textword [1][0]); |
18 |
$imglist .= "<li><img src=\&;" . trim( $wordcount [2][ $i ]) . "\&; width=\&;" . $imgwith . "\&; height=\&;" . $imgheight . "\&; } |
21 |
$imglist .= "<img src=\&;" . trim( $wordcount [2][ $i ]) . "\&; width=\&;" . $imgwith . "\&; height=\&;" . $imgheight . "\&; } |
函数的具体意思就不一一表述了,不过自己还可以进行修改,如增加增加每张图片的alt属性、修改每张图片不同的显示样式等。
在前台的调用则采用如下的代码:
1 |
{dede:field.id function="Getimgs(@me,400,400,10,li)" /} |
具体的参数就是图片的宽、高和调用图片数量。这个自定义函数已经比较完善了,基本上可以完成很多的图集效果展示,你还可以增加一些自定义的参数让这个自定义函数更加完美。No牛网特意增加调用图片的Alt标签的部分,其他可以自行完善。