插件功能:显示特定条件的图片,同时还能以对有时间格式的图片名进行排序
插件主页
http://brandon.fuller.name/archives/hacks/mtphotogallery/#download
下载插件
解压得到文件PhotoGallery.pl,然后将其移到$MTDIR/plugins下,
可用的标签有
MTPhotoGallery
添加容器标签:
MT::Template::Context->add_container_tag( PhotoGallery => \&hdlr_PhotoGallery );
容器标签,根椐传给的图像文件列表处理图片,默认情况下处理站点中的所有图片
debug=”0|1”
是否为试调模式
silent=”0|1”
设置插件无声退出
path=”dir”
设定查找图片的目录,默认情况下插件搜索整个站点的目录
代码中获得文件列表
opendir( THISDIR, $photodir ) || die "Cannot open directory $photodir: $1";
@allfiles = grep( !/^\.\.?$/, readdir( THISDIR ) ); #用于去掉.及..
closedir( THISDIR );
recursive=”0|1”
是否递归搜索子目录
代码:
if ( $recursive eq '1' )
{
$res .= &makeFileList( \@$usefiles, $ctx, $builder, $tokens, File::Spec->catfile( $photodir, $f ), "$photovdir/$f", "$exclude", $recursive, $ext, $debug );
}
count=”n”
显示图片的数目限制;这里设了一个计数器
foreach $f ( @sortedfiles )
{
last if ( $count-- == 0 );
sort_order=”ascend|descend|random”
排序方式
exclude=”expression”
需要排除的文件
代码
if ( defined( $args->{exclude} ) )
{
$exclude = build_expr( $ctx, $args->{exclude} );
}
else
{
$exclude = '';
}
以下用于文件的踢除
@allfiles = grep( !/^.*$exclude.*$/, @allfiles );