织梦图集内容页标签调⽤汇总(部分)织梦调⽤汇总(部分)
⼀、图集内容页
(本篇⽂章不属于原创,因为来源太多,所以为了⽅便填的原创,如果需要转载请注明出处即可。)1、调⽤图集内容页的第⼀张图⽚显⽰在内容页的最顶上,作为图集内容页的背景。
需配合extend.func.php来使⽤
1、先在extend.func.php的最后增加如下代码:
function Getimgs($aid,$imgwith=400,$imgheight=300,$num=0){
global$cfg_basedir;
global$dsql;
$imgurls='';
$row=$dsql->getone("Select imgurls From`dede_addonimages` where aid='$aid'");//
$imgurls=$row['imgurls'];
preg_match_all("/{dede:img (.*)}(.*){\/dede:img/isU",$imgurls,$wordcount);
$count=count($wordcount[2]);
if($num>$count||$num==0){织梦系统更新
$num=$count;
}
for($i=0;$i<$num;$i++){
$imglist.="".trim($wordcount[2][$i])."";
}
if($num>0){return$imglist;}
else{
$row=$dsql->getone("Select litpic From`dede_archives` where id='$aid'");
if($row['litpic']=='')
{
$row['litpic']='/images/defaultpic.gif';
}
return$row['litpic'];
}
}
400和300是图⽚的宽度与⾼度,可⾃⾏根据需求修改,“1” 代表调⽤的图集图⽚的数量。
内容页⾯调⽤{dede:field.aid function='Getimgs(@me,400,300,1)'
⽰例:
<picture class="gallery-landing-hero__image js-lazy-picture loaded">
<img src="{dede:field.aid function='Getimgs(@me,400,300,1)' /}">
</picture>
2、图集内容页标题
直接在相应的位置写上{dede:field.title/} 进⾏调⽤即可。
3、图集内容页⾥⾯调⽤该图集图⽚的数量并显⽰在相应的位置。
2-1、⾸先需要在extend.func.php⾥加上以下代码
function GetImgCount($aid)
{
global$dsql;
$imgurls='';
$row=$dsql->getone("Select imgurls From `dede_addonimages` where aid='$aid' ");
$imgurls=$row['imgurls'];
preg_match_all("/{dede:img (.*){\/dede:img/isU",$imgurls,$wordcount);
$count=count($wordcount[1]);
return$count;
}
2-2、在htm⽂件内相应位置添加如下代码即可调⽤
内容页调⽤:{dede:field.id function=GetImgCount(@me)/}
⾸页/列表页调⽤:[field:id function=GetImgCount(@me)/]
4、织梦内容页(包括图集内容页)所属栏⽬调⽤。
直接在相应位置加⼊[field:typename/]即可,⽆需再extend.func.php内增加代码。
⽰例:
{dede:type typeid="~typeid~"}
<span>[field:typename/]</span>
{/dede:type}
5、织梦内容页内(包括图集内容页)发布时间调⽤。
直接在想要显⽰的时间处加⼊以下代码即可。
{dede:field name='pubdate'function='strftime("%b %d, %Y",@me)'/}
⼆、图集列表页
1、开始调⽤
使⽤{dede:list}开始调⽤,以{/dede:list}结束调⽤,后⾯所所有属于列表页⾯的调⽤都需要在这⾥⾯进⾏。
2、图集列表页调⽤图集对应的内容页的第⼀张图作为相应列表的封⾯。
图⽚地址
1、在extend.func.php内增加如下代码:
function Getimgs2($aid,$num=1){
global$cfg_basedir;
global$dsql;
$imgurls='';
$row=$dsql->getone("Select imgurls From`#@__addonimages` where aid='$aid'");//
$imgurls=$row['imgurls'];
preg_match_all("/{dede:img (.*)}(.*){\/dede:img/isU",$imgurls,$wordcount);
$count=count($wordcount[2]);
if($num>$count||$num==0){
$num=1;
}
for($i=0;$i<$num;$i++){
$imglist.="".trim($wordcount[2][$i])."";
}
if($num>0){return$imglist;}
else{$row=$dsql->getone("Select litpic From`#@__archives` where id='$aid'");if($row['litpic']==''){$row['litpic']= '/images/defaultpic.gif';}return$row['lit pic'];
}
}
2、在调⽤位置使⽤ [field:litpic function=firstimg('@me')/]进⾏调⽤
(需要⼿动更改图⽚以及它⽗级容器的⼤⼩)
例:
<picture class="training-pic" >
<img src="[field:litpic function=firstimg('@me')/]" />
</picture>
3、获取图集内容页图⽚数量,并显⽰在列表页上。
在之前的内容页调⽤时已经在extend.func.php内增加相应代码。在这⾥直接调⽤即可。
[field:id function=GetImgCount(@me)/]
4、调⽤内容页的标题,并显⽰在列表页上。
⽆需在extend.func.php内增加代码。在这⾥直接调⽤即可。
[field:title/]
5、调⽤内容页所属栏⽬,并显⽰在列表页上。
⽆需在extend.func.php内增加代码。在这⾥直接调⽤即可。
[field:typename/]//⽆链接
6、调⽤内容页发布时间,并显⽰在列表页上。
已经在extend.func.php内增加代码。在这⾥直接调⽤即可。
[field:pubdate function="tranTime(@me)"/]
⾄此已经完成了在{dede:list}{/dede:list}内相应内容的调⽤(即列表页调⽤内容页的内容)。
接下来在列表页调⽤最新更新的图集作为⼀个焦点图集,并显⽰在最顶上,之前已经通过 HTML+css+Javascript 设计好样式,在这⾥直接讲调⽤⽅法。
7、调⽤内容页发布时间,并显⽰在列表页上。
开始调⽤:
以{dede:arclist row=1 typeid='306'} 开始,以{/dede:arclist}结束调⽤,以此达到我们每⼀次更新图集都能在最顶上显⽰最新的图集。
row=1为需要调⽤⼏个图集,⼀般是⼀个;typeid='该图集栏⽬的id'。
ps.{dede:arclist row=1 typeid='306'} {/dede:arclist}不应包含住列表页
{dede:list} {/dede:list} 的调⽤标签。因为我这⾥是单独的板块,相当于另⼀个有着⾃⼰⼤⼩和样式的DIV。
其中的调⽤内容⼤同⼩异:总结如下:
在extend.func.php内增加如下代码:
function Getimg($aid){
global$dsql;
$sql="select * from #@__addonimages where aid=$aid";
$row2=$dsql->GetOne($sql);$imgs=$row2['imgurls'];
preg_match_all("/s+/uploads/allimg.*?s+/",$imgs,$matches);
preg_match_all("/s+text='.*?'s+/",$imgs,$matches2);
$str='<div>';
foreach($matches[0]as$key=>$val){//排版在这⾥修改
$str.='<h3>'.str_replace("'",'',str_replace('text=','',$matches2[0][$key])).'</h3>';
$str.='<img src="'.$val.'"></a>';
}
$str.='</div>';
return$str;
}
调⽤:
1、图集url使⽤ [field:litpic function=firstimg('@me')/] 进⾏调⽤;(⽆需在extend.func.php中增加的代码)
2、图集标题使⽤ [field:title/] 进⾏调⽤;(⽆需在extend.func.php中增加代码)
3、获取最新图集内容页图⽚数量使⽤ [field:id function=GetImgCount(@me)/] 进⾏调⽤;(已经在extend.func.php中增加过代码);
4、最新栏⽬的所属栏⽬使⽤ [field:typename/] 进⾏调⽤;(⽆需在extend.func.php中增加代码)
5、列表页最新图集的发布时间使⽤ [field:pubdate function="tranTime(@me)" /] 进⾏调⽤(已经在extend.func.php中增加过代码)
——————————————未完,待续———————————————
参考⽂档
1、
2、
3、
4、
5、
6、
7、
8、