如果您对dedecms织梦图集上传用图片名做注释感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于dedecms织梦图集上传用图片名做注释的详细内容,我们还将为您解答织梦图片集
如果您对dedecms织梦图集上传用图片名做注释感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于dedecms织梦图集上传用图片名做注释的详细内容,我们还将为您解答织梦图片集如何调用的相关问题,并且为您提供关于DEDECMS图集上传图片显示不清楚的解决办法、DedeCMS图集列表中调用图集图片、dedecms织梦artlist和list标签调用图集图片实现办法、dedecms织梦artlist和list标签调用图集图片实现方法的有价值信息。
本文目录一览:- dedecms织梦图集上传用图片名做注释(织梦图片集如何调用)
- DEDECMS图集上传图片显示不清楚的解决办法
- DedeCMS图集列表中调用图集图片
- dedecms织梦artlist和list标签调用图集图片实现办法
- dedecms织梦artlist和list标签调用图集图片实现方法
dedecms织梦图集上传用图片名做注释(织梦图片集如何调用)
dedecms织梦图集上传图片默认是要手动填写注释的,有时我们做好了产品图和图片名称,为了方便想让上传图片后自动获取图片名做注释,那下面的教程就特别有用了。
1、打开 \dede\swfupload.php 找到(注意,dede为默认后台的目录,请自行登录自己所在后台目录修改)
echo "FILEID:".$_SESSION['fileid'];
在它的上面加入
$file_snames = explode('.', $Filename);
$file_filename = $file_snames[count($file_snames)-2];
$_SESSION['file_filename'][$_SESSION['fileid']] = $file_filename;
继续找到
/************************ //删除指定ID的图片 *************************/
在它的上面加入
/************************
//生成注释
function GetThumbnail(){ }
*************************/
else if($dopost=='thumbalt')
{
if( empty($id) )
{
header('HTTP/1.1 500 Internal Server Error');
echo 'No ID';
exit(0);
}
if (!is_array($_SESSION['file_filename']) || !isset($_SESSION['file_filename'][$id]))
{
header('HTTP/1.1 404 Not found');
exit(0);
}
if($cfg_soft_lang=='utf-8') $file_filename = $_SESSION['file_filename'][$id];
else $file_filename = iconv( 'UTF-8', 'gb2312//IGNORE' , $_SESSION['file_filename'][$id]);
echo $file_filename;
exit(0);
}
2、打开 \dede\album_add.php 找到
$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
改成
$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k];
3、打开 \dede\album_edit.php 找到
$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
改成
$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : $_SESSION['file_filename'][$k];
4、打开 \dede\js\handlers.js 找到
newImgDiv.innerHTML += '<div>注释:<input type="text" name="picinfo'+albImg+'" value=""/></div>';
改成
newImgDiv.innerHTML += '<div>注释:<input type="text" name="picinfo'+albImg+'" value=""id="picinput'+albImg+'" /><span id="picinfo'+albImg+'"></span></div>';
var picinfo = document.getElementById('picinfo'+albImg);
var picinput = document.getElementById('picinput'+albImg);
var myajax = new DedeAjax(picinfo,false,false,"","","");
myajax.SendGet2('swfupload.php?dopost=thumbalt&id='+pid);
picinput.value = picinfo.innerHTML;
DedeXHTTP = null;
DEDECMS图集上传图片显示不清楚的解决办法
DEDE(织梦CMS),可以看到,第三种表现方式在上传图片时会自动为每张图片生成一个缩略图,在文章页调用出来的图片是这张缩略图,点击之后才会显示原图。
在这种方式下,有可能出现图片显示不清楚的情况,我认为可能原因是系统生成的缩略图的大小与你设置的图片位的大小不符:比如默认生成的缩略图是200px宽的,而你却把图片按400px宽显示,这样图片肯定就显得不清楚了。
如果是这种原因引起的话,可以有下面两种方法来解决。
方法一:修改系统参数,默认设置在“系统”–“系统基本参数”–“附件设置”中可以找到
修改上图中“图集默认缩略图大小”为你图集文章中图片显示的大小。
方法二:类似于方法一,也可以在上传图片那里进行修改,只不过这样的话每次发布新图集,都需要修改
方法三:修改程序文件/include/taglib/channel/img.lib.PHP
上图中,我们可以看到,$fields['imgsrc'] 获得的是图集图片的原图路径,而 $fields['imgsrctrue'] 也是原图路径,$fields['ddimg'] 获取的是缩略图的路径,在没有缩略图是,它获得的将是原图路径。
前面我们已经讲过,在选择图集表现方式3的时候,系统会自动生成缩略图。所以 $fields[‘ddimg’] 此时就是缩略图的路径。
通过上图,我们看到,在选用第三种表现方式的时候,$fields['imgsrc'] 的值被改成了 缩略图的路径,因此文章页中显示的是缩略图而非原图。我们可以把这一行代码去掉,然后在文章页控制图片的宽高,就可以把原图显示出来,这种方法也可以防止图片出现不清楚的情况。
方法四:当然,我们还可以修改 /dede/album_add.PHP 和 /dede/album_edit.PHP 两个文件,让图片不生成缩略图,这样也可以解决问题。
/dede/album_add.PHP
/dede/album_edit.PHP
把 $pagestyle > 2 ? GetimageMapDD($iurl,$cfg_ddimg_width) : $iurl; 改成 $iurl; 即可。此时,$fields['ddimg'] 获取到的还是原图路径,所以文章页显示的最终还是原图,也可避免图片不清楚。
DedeCMS图集列表中调用图集图片
下面是小编 jb51.cc 通过网络收集整理的代码片段。小编小编现在分享给大家,也给大家做个参考。
在 include/common.func.PHP 中添加以下函数代码
// 在图集列表中调出图集的所有图片
function Getimgs($aid,$imgwith = 220,$imgheight = 80,$num = 0,$){
global $dsql;
$imgurls = '';
$row = $dsql -> getone("Select * 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++){
if($style == 'li'){
$imglist .= "<li><a href=#" . $i . "><imgsrc=". trim($wordcount[2][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></a></li>";
}else{
$imglist .= "<li><imgsrc='../images/grey.gif' data-original=". trim($wordcount[2][$i])." width=" . $imgwith . " height=" . $imgheight . "></li>";
//此处用到了jquery的loadlazy延时加载插件。
}
}
return $imglist;
}
模板中 [field:id function="Getimgs(@me,220,80,90)" /]
说明: 第一个参数 当前 ID 第二个第三个, 图片尺寸。 第四个图片张数。
也可以这样用
{dede:arclist row='3'} // row=3 调用三个图集
[field:id function="Getimgs(@me,136,62,4)" /] //每个图集调用前4张
{/dede:arclist}
以上是小编(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得小编网站内容还不错,欢迎将小编网站推荐给程序员好友。
dedecms织梦artlist和list标签调用图集图片实现办法
我们在做织梦源码开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。织梦58整理了个一个这样功能的自定义函数。调用后效果如下
函数代码
请将代码加入到 /include/extend.func.php 文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function Getimgurls($aid,$num=4)
{
global $dsql;
$imgurls = $result = '';
$imgrow = $dsql->GetOne( "Select imgurls From `dede_addonimages` where aid='$aid' ");
$imgurls = $imgrow['imgurls'];
if($imgurls != '')
{
$dtp = new DedeTagParse();
$dtp->LoadSource($imgurls);
$images = array();
if(is_array($dtp->CTags))
{
foreach($dtp->CTags as $ctag)
{
if($ctag->GetName() == 'img')
{
$row = array();
$row['width'] = $ctag->GetAtt('width');
$row['height'] = $ctag->GetAtt('height');
$row['imgsrc'] = trim($ctag->GetInnerText());
$row['text'] = $ctag->GetAtt('text');
$images[] = $row;
}
}
}
$dtp->Clear();
$i = 0;
foreach($images as $row)
{
if($i == $num) break;
if($row['imgsrc'] != '')
{
#p#分页标题#e#$result .= "<li><img src='{$row['imgsrc']}' alt='{$row['text']}' width='70' height='70'></li>";
}
$i++;
}
return $result;
}
}
//<li><img src='{$row['imgsrc']}' alt='{$row['text']}' width='70' height='70'></li>
// 这个图片的样式都可以根据自己需要进行自定义调整。织梦源码网
前台源码调用代码
1
2
3
4
5
6
7
{dede:arclist}
[field:id function=Getimgurls(@me,4)/]
{/dede:arclist}
{dede:list pagesize='10'}
[field:id function=Getimgurls(@me,4)/]
{/dede:list}
本文章网址:http://www.ppssdd.com/code/12254.html。转载请保留出处,谢谢合作!dedecms织梦artlist和list标签调用图集图片实现方法
我们在做织梦模板开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。织梦58整理了个一个这样功能的自定义函数。调用后效果如下
函数代码
请将代码加入到 /include/extend.func.PHP 文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
function Getimgurls($aid,$num=4)
{
global $dsql;
$imgurls = $result = '';
$imgrow = $dsql->Getone( "Select imgurls From `dede_addonimages` where aid='$aid' ");
$imgurls = $imgrow['imgurls'];
if($imgurls != '')
{
$dtp = new DedeTagParse();
$dtp->LoadSource($imgurls);
$images = array();
if(is_array($dtp->CTags))
{
foreach($dtp->CTags as $ctag)
{
if($ctag->GetName() == 'img')
{
$row = array();
$row['width'] = $ctag->GetAtt('width');
$row['height'] = $ctag->GetAtt('height');
$row['imgsrc'] = trim($ctag->GetInnerText());
$row['text'] = $ctag->GetAtt('text');
$images[] = $row;
}
}
}
$dtp->Clear();
$i = 0;
foreach($images as $row)
{
if($i == $num) break;
if($row['imgsrc'] != '')
{
$result .= "
}
$i++;
}
return $result;
}
}
//
// 这个图片的样式都可以根据自己需要进行自定义调整。www.dede58.com织梦模板网
|
前台模板调用代码
1
2
3
4
5
6
7
|
{dede:arclist}
[field:id function=Getimgurls(@me,4)/]
{/dede:arclist}
{dede:list pagesize='10'}
[field:id function=Getimgurls(@me,4)/]
{/dede:list}
|
关于dedecms织梦图集上传用图片名做注释和织梦图片集如何调用的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于DEDECMS图集上传图片显示不清楚的解决办法、DedeCMS图集列表中调用图集图片、dedecms织梦artlist和list标签调用图集图片实现办法、dedecms织梦artlist和list标签调用图集图片实现方法等相关内容,可以在本站寻找。
本文标签: