用dedecms做 这种效果怎样实现 下面有 求解
普通文章列表调用内容多张不能用图集模型的办法,需要自己写一个函数,在include/extendfuncphp 增加函数
function Getpic($body){
$getpic = '';
preg_match_all("/(src)=[\"|'| ]{0,}([^>]\(gif|jpg|bmp|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);
if(count($img_array)>0)
{
foreach($img_array as $key=>$value)
{
$picname = preg_replace("/[\"|'| ]{1,}/", '', $value);
$getpic ="<p><img src='"$picname"' border=0 /></p>";
}
}
else
{
$getpic="<p>没有</p>";
}
return $getpic;
}
列表页模版使用标签
{dede:list pagesize='10' addfields='body'}<li><a href='[field:arcurl /]' target='_blank'>
<span class="title">[field:title /]</span>
[field:body function='Getpic(@me)'/]
</a></li>
{/dede:list}
同时到网站后台-内容模型管理,修改普通文章模型附加列表字段增加body
保存后,就可以更新列表了,这样就能在列表页显示文章正文内所有
{dede:productimagelist}
<li><a href="[field:imgsrc/]" >
<img src="/plus/thumbphpdopost=ddimg&img=[field:imgsrc/]" alt="[field:text/]" class="image1" />
</a>
</li>
{/dede:productimagelist}
上面用到的文件/plus/thumbphp代码如下
<phprequire_once("/include/commonincphp");
require_once('/include/imagefuncphp');
if($dopost=='ddimg')
{
//生成缩略图
ob_start();
if(!preg_match("/^(http:\/\/)([^\/]+)/i", $img)) $img = $cfg_basedir$img;
ImageResizeNew($img, $cfg_ddimg_width, $cfg_ddimg_height, '', false);
$imagevariable = ob_get_contents();
ob_end_clean();
header('Content-type: image/jpeg');
header('Content-Length: 'strlen($imagevariable));
echo $imagevariable;
exit();
}
这个就是一列表页,你可以在的内容模型管理,普通文章,点更改,点字段管理,添加一个字段,数据类型选择附件。然后再列表页里调用就可以了。
还有一种就是,你新建一个模型,自定义字段。然后调用就可以了。
0条评论