织梦CMS如何实现图集缩略图的分页样式

织梦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

}

最后就是模板的调用了,这就不再细说了,当然这只是一种方法!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值