织梦的栏目页如何实现左边是内容的缩略图右边按字段显示部分内容?
1、登陆dede织梦cms网站后台。
2、如图所示,点击模板-全局标记。
3、如图,输入代码,调用链接和标题,并提交测试。{dede:arclist row="100000"}
<li>[field:fulltitle/]这里输入你的域名[field:arcurl/]</li><br>{/dede:arclist}。
4、程序运行完毕时就可以复制你想要的链接和标题了。
5、生成的链接记住检查是否是死链。
{dede:sql sql='Select utitle,uurl from dede_archives as a left join dede_uploads as u on aid=uarcid where alitpic <> uurl and aid=~id~'}
<li><a href="javascript:void(0);" ><img src="[field:url/]" alt="[field:title function='html2text(@me)'/]" width="110" height="76"/></a></li>
{/dede:sql}
联合查询dede_archives和dede_uploads两个表,读取该文章id下的文件
alitpic <> uurl这个语句是去除缩略图
根据这个sql语句套用就可以了,而且可以根据这语句在首页、列表、频道首页调用某篇文章的所有,做个相册特效、幻灯特效都很简单,比使用织梦自带的图集模型感觉要方便些
不过在首页、列表页调用所有,需要在commonfuncphp中写一个函数,根据文章id查询这两个表,返回一长串的<li><a href="javascript:void(0);" ><img src="[field:url/]" alt="[field:title function='html2text(@me)'/]" width="110" height="76"/></a></li>,语句和这个差不多
首先建好自定义的内容模型和自定义字段
列表页调用方法:
首先要在这里填写上被调用的自定义字段点击保存
然后就可以在列表页调用这个字段了 如:
{dede:list
row='4'}
价格:[field:jiage/]
市场价:[field:scj/]
{/dede:list}
首页调用方法:
首页调用时需要满足两个条件才能调出来数据
1 指定 channelid 属性 这个ID
就是你建立的内容模型的ID如下图
2
指定要获得的字段 addfields='字段1,字段'
每个字段用英文半角逗号分开如:
{dede:arclist addfields='goumai,dianpu' row='8'
channelid='1'}
[field:goumai /] - [field:dianpu /]<br
/>
{/dede:arclist}
至此列表页和首页都能调用自定义模型的自定义字段了。
详细页模板调用的方法和在首页调用的方法一样
首先在网站后台系统中设置网站缩略图尺寸大小和模板中调用最大尺寸相同
再打开文件include/helpers/extendhelpesphp 在最下面加上以下代码
if ( ! function_exists('thumb'))
{
function thumb($imgurl, $width, $height, $bg = true)
{
global $cfg_mainsite,$cfg_multi_site;
$thumb = eregi("http://",$imgurl)str_replace($cfg_mainsite,'',$imgurl):$imgurl;
list($thumbname,$extname) = explode('',$thumb);
$newthumb = $thumbname'_'$width'_'$height''$extname;
if(!$thumbname || !$extname || !file_exists(DEDEROOT$thumb)) return $imgurl;
if(!file_exists(DEDEROOT$newthumb))
{
include_once DEDEINC'/imagefuncphp';
if($bg==true)
{
ImageResizeNew(DEDEROOT$thumb, $width, $height, DEDEROOT$newthumb);
}
else
{
ImageResize(DEDEROOT$thumb, $width, $height, DEDEROOT$newthumb);
}
}
return $cfg_multi_site=='Y'$cfg_mainsite$newthumb:$newthumb;
}
}
调用方法:
标签 : [field:picname function='thumb(@me,$width,$height,$bg)'/]
参数说明:
$width:缩略图宽度(整数)
$height:缩略图高度(整数)
$bg:是否用空白填补,默认自动填补,背景填充颜色在系统-附件设置里(true/false)
举例:
调用长宽为100像素的缩略图:[field:picname function='thumb(@me,100,100)'/]
保留原有比例,不自动填充(不建议):[field:picname function='thumb(@me,100,100,false)'/]
再到 include/helpers/imagehelpesphp 中写入以下代码
/
缩自动生成函数,来源支持bmp、gif、jpg、png
但生成的小图只用jpg或png格式
@access public
@param string $srcFile 路径
@param string $toW 转换到的宽度
@param string $toH 转换到的高度
@param string $toFile 输出文件到
@return string
/
if ( ! function_exists('ImageResize'))
{
function ImageResize($srcFile, $toW, $toH, $toFile="")
{
global $cfg_photo_type;
if($toFile=="")
{
$toFile = $srcFile;
}
$info = "";
$srcInfo = GetImageSize($srcFile,$info);
switch ($srcInfo[2])
{
case 1:
if(!$cfg_photo_type['gif'])
{
return false;
}
$im = imagecreatefromgif($srcFile);
break;
case 2:
if(!$cfg_photo_type['jpeg'])
{
return false;
}
$im = imagecreatefromjpeg($srcFile);
break;
case 3:
if(!$cfg_photo_type['png'])
{
return false;
}
$im = imagecreatefrompng($srcFile);
break;
case 6:
if(!$cfg_photo_type['bmp'])
{
return false;
}
$im = imagecreatefromwbmp($srcFile);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
if($srcW<=$toW && $srcH<=$toH )
{
return true;
}
//缩略生成并裁剪
$newW = $toH $srcW / $srcH;
$newH = $toW $srcH / $srcW;
if($newH >= $toH)
{
$ftoW = $toW;
$ftoH = $newH;
}
else
{
$ftoW = $newW;
$ftoH = $toH;
}
if($srcW>$toW||$srcH>$toH)
{
if(function_exists("imagecreatetruecolor"))
{
@$ni = imagecreatetruecolor($ftoW,$ftoH);
if($ni)
{
imagecopyresampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
else
{
$ni=imagecreate($ftoW,$ftoH);
imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
}
else
{
$ni=imagecreate($ftoW,$ftoH);
imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
}
//裁剪成标准缩略图
$new_imgx = imagecreatetruecolor($toW,$toH);
if($newH >= $toH)
{
imagecopyresampled($new_imgx,$ni,0,0,0,($newH - $toH)/2,$toW,$toH,$toW,$toH);
}
else
{
imagecopyresampled($new_imgx,$ni,0,0,($newW - $toW)/2,0,$toW,$toH,$toW,$toH);
}
switch ($srcInfo[2])
{
case 1:
imagegif($new_imgx,$toFile);
break;
case 2:
imagejpeg($new_imgx,$toFile,85);
break;
case 3:
imagepng($new_imgx,$toFile);
break;
case 6:
imagebmp($new_imgx,$toFile);
break;
default:
return false;
}
imagedestroy($new_imgx);
imagedestroy($ni);
}
imagedestroy($im);
return true;
}
}
即可
QQ:51461981
您好,朋友,跟版网团队很高兴为您解答:
首先您要在您的后台上传缩略图,如下图所示,点击添加文档,然后输入:
添加完文章,织梦默认的内容页(文章页)是没调用的,如果调用,请在{dede:fieldbody/}前面或者您需要加的地方加入<img src="{dede:fieldlitpic/}"> 即可
希望我的回答能够帮到你!
0条评论