织梦CMS如何实现图集缩略图的分页样式?
织梦CMS5.7版本里默认自带有三种图集样式,模板名称分别为article_image.htm、article_image_cl.htm(新浪样式)、article_image_new.htm(这个是5.7才有的图文幻灯样式)。最近在做图集模板时发现dede默认的图集模板无法像文章一样实现分页样式,多次问度娘、谷哥均无果,于是仔细的对织梦的文件研究了一下发现织梦是可以实现这种样式的(如下图)。现将方法分享给大家,这也是织梦论坛上大家最热关注的焦点哦!
(此图片来源于网络,如有侵权,请联系删除!)
问题分析:
若要实现这种分页方式,第一在要在分页时把缩略图的地址也调用进去,可是打开分页标签文件一看,没有缩略图数据。那怎么办。我们只能通过二次开发进行新建一个专门用来图集分页调用的一个函数,如果要改动{dede:pagebreak/}的话,在文章的相关分页方式上可能会出现问题。因此建议我们自己新建函数以免出现其他问题。
解决方法:
第一步:打开arc_archives_class.php,在include目录下,在结尾处加上以下代码:
01
/***获得动态页面图集中图片缩略列表*
02
*@accesspublic*@paramint$totalPage总页数
03
*@paramint$nowPage当前页数
04
*@paramint$aid文档id
05
*@returnstring
06
*/
07
functionGetlitpicDM_list($totalPage,$nowPage,$aid)
08
{
09
global$dsql,$sqlCt;
10
$attlist="desclen|80";
11
FillAttsDefault($ctag->CAttribute->Items,$attlist);
12
extract($ctag->CAttribute->Items,EXTR_SKIP);
13
if(!isset($this->addTableRow['imgurls']))return;
14
$revalue='';
15
$dtp=newDedeTagParse();
16
$dtp->LoadSource($this->addTableRow['imgurls']);
17
$images=array();if(is_array($dtp->CTags))
18
{
19
$pagenum=1;
20
foreach($dtp->CTagsas$ctag1)
21
{
22
if($ctag1->GetName()=="img")
23
{
24
$litpic.='<LI>
25
<DIVclass=img>
26
<Atitle="'.$ctag1->GetAtt('text').'"href="view.php?aid='.$aid.'&pageno='.$pagenum.'">
27
<IMGstyle="BACKGROUND-IMAGE:url('.$ctag1->GetAtt('ddimg').')"src="'.$GLOBALS['cfg_templets_skin'].'/tukustyle/blankBg.gif">
28
</A></DIV>
29
<Ahref="view.php?aid='.$aid.'&pageno='.$pagenum.'">'.substr($ctag1->GetAtt('text'),30).'</A>
30
</LI>';
31
$pagenum++;
32
}
33
}
34
}
35
return$litpic;
36
}
37
/**
38
*获得静态页面图集中图片缩略列表
39
*
40
*@accesspublic*@paramint$totalPage总页数
41
*@paramint$nowPage当前页数
42
*@paramint$aid文档id
43
*@returnstring
44
*/
45
functionGetlitpic_list($totalPage,$nowPage,$aid)
46
{
47
global$dsql,$sqlCt;
48
$attlist="desclen|80";
49
FillAttsDefault($ctag->CAttribute->Items,$attlist);
50
extract($ctag->CAttribute->Items,EXTR_SKIP);
51
if(!isset($this->addTableRow['imgurls']))return;$revalue='';
52
$dtp=newDedeTagParse();
53
$dtp->LoadSource($this->addTableRow['imgurls']);
54
$images=array();
55
if(is_array($dtp->CTags))
56
{
57
$pagenum=1;foreach($dtp->CTagsas$ctag1)
58
{
59
if($ctag1->GetName()=="img")
60
{
61
if($pagenum==1)
62
{
63
$litpic.='<LI>
64
<DIVclass=img>
65
<Atitle="'.$ctag1->GetAtt('text').'"href="'.$this->NameFirst.'.'.$this->ShortName.'">
66
<IMGstyle="BACKGROUND-IMAGE:url('.$ctag1->GetAtt('ddimg').')"src="'.$GLOBALS['cfg_templets_skin'].'/tukustyle/blankBg.gif">
67
</A></DIV>
68
<Ahref="'.$this->NameFirst.'_'.$pagenum.'.'.$this->ShortName.'">'.substr($ctag1->GetAtt('text'),0,30).'</A>
69
</LI>';
70
}
71
else
72
{
73
$litpic.='<LI>
74
<DIVclass=img>
75
<Atitle="'.$ctag1->GetAtt('text').'"href="'.$this->NameFirst.'_'.$pagenum.'.'.$this->ShortName.'">
76
<IMGstyle="BACKGROUND-IMAGE:url('.$ctag1->GetAtt('ddimg').')"src="'.$GLOBALS['cfg_templets_skin'].'/tukustyle/blankBg.gif">
77
</A>
78
</DIV>
79
<Ahref="'.$this->NameFirst.'_'.$pagenum.'.'.$this->ShortName.'">'.substr($ctag1->GetAtt('text'),0,30).'</A>
80
</LI>';
81
}
82
$pagenum++;
83
}
84
}
85
}
86
return$litpic;
87
}
最后就是模板的调用了,这就不再细说了,当然这只是一种方法!
更多推荐
织梦CMS如何实现图集缩略图的分页样式
发布评论