Dreamweaver CMS에서 앨범 썸네일의 페이징 스타일을 구현하는 방법은 무엇입니까?
앨범 썸네일의 페이징 스타일을 구현하기 위한 Dreamweaver CMS 보조 개발 튜토리얼
권장 학습: Dreamweaver cms
Dreamweaver CMS5.7 버전에는 기본적으로 세 가지 아틀라스 스타일이 제공되며 템플릿 이름은 각각 Article_image.htm입니다. Article_image_cl.htm(Sina 스타일), Article_image_new.htm(5.7에서만 사용할 수 있는 그래픽 슬라이드쇼 스타일입니다.) 최근 Women Talk about의 앨범 템플릿 작업을 하다가 dede의 기본 앨범 템플릿이 기사와 같은 페이징 스타일을 구현할 수 없다는 것을 발견하고 Du Niang과 Gu 형제에게 여러 번 요청했지만 소용이 없었습니다. Weaver Dreams의 파일을 분석한 결과 Dede Dreams가 이런 방식으로 실현될 수 있음을 발견했습니다(아래 참조). 이제 그 방법을 여러분께 공유해드리겠습니다! 드림위버 포럼에서 가장 뜨거운 관심을 받고 있는 부분이기도 합니다!
문제 분석:
이 페이징 방법을 구현하려면 먼저 페이징을 축소해야 합니다. 페이징할 때 썸네일의 주소도 불러오는데 페이징 라벨 파일을 열면 썸네일 데이터가 없습니다. 무엇을 해야 할까요? 앨범 페이징 호출을 위해 특별히 2차 개발을 통해서만 새로운 기능을 생성할 수 있습니다. {dede:pagebreak/}를 변경하려면 기사의 페이징 방법에 문제가 있을 수 있습니다. 따라서 다른 문제를 피하기 위해 새로운 기능을 직접 만드는 것이 좋습니다.
해결책:
1단계: include 디렉터리에서 arc_archives_class.php를 열고 끝에 다음 코드를 추가합니다.
/** * 获得动态页面图集中图片缩略列表 * * @access public * @param int $totalPage 总页数 * @param int $nowPage 当前页数 * @param int $aid 文档id * @return string */ function GetlitpicDM_list($totalPage,$nowPage,$aid) { global $dsql,$sqlCt; $attlist="desclen|80"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); if(!isset($this->addTableRow['imgurls'])) return ; $revalue = ''; $dtp = new DedeTagParse(); $dtp->LoadSource($this->addTableRow['imgurls']); $images = array(); if(is_array($dtp->CTags)) { $pagenum=1; foreach($dtp->CTags as $ctag1) { if($ctag1->GetName()=="img") { $litpic.='<LI> <DIV class=img><A title="'. $ctag1->GetAtt('text').'" href="view.php?aid='.$aid.'&pageno='.$pagenum.'"><IMG style="BACKGROUND-IMAGE: url('.$ctag1->GetAtt('ddimg').')" src="'.$GLOBALS['cfg_templets_skin'].'/tukustyle/blankBg.gif" ></A></DIV><A href="view.php?aid='.$aid.'&pageno='.$pagenum.'">'.substr($ctag1->GetAtt('text'), 30).'</A> </LI>'; $pagenum++; } } } return $litpic; } /** * 获得静态页面图集中图片缩略列表 * * @access public * @param int $totalPage 总页数 * @param int $nowPage 当前页数 * @param int $aid 文档id * @return string */ function Getlitpic_list($totalPage,$nowPage,$aid) { global $dsql,$sqlCt; $attlist="desclen|80"; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); if(!isset($this->addTableRow['imgurls'])) return ; $revalue = ''; $dtp = new DedeTagParse(); $dtp->LoadSource($this->addTableRow['imgurls']); $images = array(); if(is_array($dtp->CTags)) { $pagenum=1; foreach($dtp->CTags as $ctag1) { if($ctag1->GetName()=="img") { if($pagenum==1) { $litpic.='<LI> <DIV class=img><A title="'. $ctag1->GetAtt('text').'" href="'.$this->NameFirst.'.'.$this->ShortName.'"><IMG style="BACKGROUND-IMAGE: url('.$ctag1->GetAtt('ddimg').')" src="'.$GLOBALS['cfg_templets_skin'].'/tukustyle/blankBg.gif" ></A></DIV><A href="'.$this->NameFirst.'_'.$pagenum.'.'.$this->ShortName.'">'.substr($ctag1->GetAtt('text'),0,30).'</A> </LI>'; } else { $litpic.='<LI> <DIV class=img><A title="'. $ctag1->GetAtt('text').'" href="'.$this->NameFirst.'_'.$pagenum.'.'.$this->ShortName.'"><IMG style="BACKGROUND-IMAGE: url('.$ctag1->GetAtt('ddimg').')" src="'.$GLOBALS['cfg_templets_skin'].'/tukustyle/blankBg.gif" ></A></DIV><A href="'.$this->NameFirst.'_'.$pagenum.'.'.$this->ShortName.'">'.substr($ctag1->GetAtt('text'),0,30).'</A> </LI>'; } $pagenum++; } } } return $litpic; }
마지막 단계는 템플릿을 호출하는 것입니다. 이에 대해서는 자세히 설명하지 않겠습니다. 물론, 이건 일방통행이에요!
위 내용은 Dreamweaver CMS는 앨범 축소판의 페이징 스타일을 어떻게 구현합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!