如何在DedeCMS中调用列表页和文章页下的图集中的所有图片?

在dede列表页及文章页中,调用图集里的所有图片可以通过以下代码实现:,,“php,{dede:field name='body' function='GetImageUrl(@me)'/},

DedeCMS(织梦内容管理系统)中,调用列表页及文章页下的图集中的所有图片可以通过编写特定的PHP函数和标签来实现,以下是详细步骤和代码示例:

列表页下调用图集里的所有图片

1、解析文章图片集

“`php

function getAllImg($typeid){

global $dsql;

$sql_arc = "SELECT imgurls FROMidea_addonimages where typeid=".$typeid." order by aid asc limit 1";

$row = $dsql>GetOne($sql_arc);

$arr = explode(‘{dede:img’,$row[‘imgurls’]);

unset($arr[‘0’]);

$pic = array();

for($i = 1; $i<=count($arr);$i++){

$str = substr($arr[$i],0,strpos($arr[$i],’}’));

$arr_small = explode(‘ ‘,$str);

unset($arr_small[‘0’]);

for($j=1;$j<=count($arr_small);$j++){

$name =substr($arr_small[$j],0,strpos($arr_small[$j],’=’));

$val = $arr_small[$j];

$pic[$i][$name] = trim(strstr($val,"’"),"’");

}

$begin = strpos($arr[$i],"}")+1;

$over = strpos($arr[$i],"{")$begin;

$img = substr($arr[$i],$begin,$over);

$pic[$i][‘img’]=trim($img);

}

return $pic;

}

“`

2、生成HTML列表

“`php

function getArtImg($id){

$pic = getAllImg($id);

$Div = "";

for($i=1;$i<=count($pic);$i++){

$Div .="<li>

//列表页用 arcurl

<a href="".$pic[$i][‘arcurl’]."" title="".$pic[$i][‘text’]."">

<img src="".$pic[$i][‘ddimg’]."" width="150" alt="".$pic[$i][‘text’]."" />

</a><h5>".$pic[$i][‘text’]."</h5>

</li>";

}

return $Div;

}

“`

3、在列表模板中使用标签和函数

“`html

{dede:field.id function="getArtImg(@me)"/}

“`

文章页下调用图集里的所有图片

1、解析文章图片集

“`php

function getAllImg($aid){

global $dsql;

$sql_arc = "SELECT imgurls FROMidea_addonimages where aid=".$aid." ";

$row = $dsql>GetOne($sql_arc);

$arr = explode(‘{dede:img’,$row[‘imgurls’]);

unset($arr[‘0’]);

$pic = array();

for($i = 1; $i<=count($arr);$i++){

$str = substr($arr[$i],0,strpos($arr[$i],’}’));

$arr_small = explode(‘ ‘,$str);

unset($arr_small[‘0’]);

for($j=1;$j<=count($arr_small);$j++){

$name =substr($arr_small[$j],0,strpos($arr_small[$j],’=’));

$val = $arr_small[$j];

$pic[$i][$name] = trim(strstr($val,"’"),"’");

}

$begin = strpos($arr[$i],"}")+1;

$over = strpos($arr[$i],"{")$begin;

$img = substr($arr[$i],$begin,$over);

$pic[$i][‘img’]=trim($img);

}

return $pic;

}

“`

2、生成HTML列表

“`php

function getArtImg($id){

$pic = getAllImg($id);

$Div = "";

for($i=1;$i<=count($pic);$i++){

$Div .="<li>

如何在DedeCMS中调用列表页和文章页下的图集中的所有图片?

//列表页用 img

<a href="".$pic[$i][‘img’]."" title="".$pic[$i][‘text’]."">

<img src="".$pic[$i][‘ddimg’]."" width="150" alt="".$pic[$i][‘text’]."" />

</a><h5>".$pic[$i][‘text’]."</h5>

</li>";

}

return $Div;

}

“`

相关问答FAQs

1. 如何在DEDECMS首页调用图片集里的多张图片?

在DEDECMS的首页调用图片集里的多张图片,可以按照以下步骤操作:

1、找到并打开include/common.inc.php文件。

2、将以下代码粘贴到文件末尾:

“`php

function Getimg($aid,$imgwith,$imgheight)

{

global $dsql;

$imgurls = ”;

$row =$dsql>getone( "select imgurls from dede_addonimages where aid=’$aid’ ");

$imgurls= $row[‘imgurls’];//获取字段数据

preg_match_all("/}.+jpg/",$imgurls,$matches);//取出符合条件的

$new_arr=array_unique($matches[0]);//去除数组中重复的值

$pic_num1="

";

foreach($new_arr as $key){

$pic_list.="

";

}

$pic_end="

";

return $pic_num1.$pic_list.$pic_end;//返回结果

}

“`

3、在首页模板中使用以下标签进行调用:

“`html

[field:id function="Getimg(@me,80,80,7)" /]

“`

这里的80和80是图片的宽度和高度,7是要显示的图片数量,如果有多个图片集,可以加上图片集的类目id。

2. 如何在文章内页调用图片集多张图片?

在DEDECMS的文章内页调用图片集多张图片,可以按照以下步骤操作:

1、找到并打开include/common.func.php文件。

2、将以下代码粘贴到文件末尾:

“`php

function Getimgs($aid, $num = 0){

global $dsql;

$imgurls = ”;

$row =$dsql>getone( "Select imgurls Fromdede_addonimages where aid=’$aid’ ");

$imgurls = $row[‘imgurls’];//获取字段数据

preg_match_all("/}.+jpg/",$imgurls,$matches);//取出符合条件的

$new_arr=array_unique($matches[0]);//去除数组中重复的值

$pic_list = "";

foreach($new_arr as $key){

$pic_list .= "<img src=’".$key."’ alt=” />";

}

return $pic_list;//返回结果

}

“`

3、在文章内页模板中使用以下标签进行调用:

“`html

{dede:field.id function="Getimgs(@me)" /}

“`

DedeCMS(织梦CMS)列表页及文章页调用图集图片方法详解

准备工作

1、安装DedeCMS:确保您的网站已安装并配置好DedeCMS。

2、上传图集图片:将图集图片上传到网站的服务器上,通常放置在网站根目录下的“uploads”文件夹中。

调用图集图片步骤

1. 列表页调用图集图片

代码示例

<?php
// 引入DedeCMS函数库
require_once(DEDEINC.'/dede.php');
// 获取图集ID
$albumId = 123; // 假设图集ID为123
// 获取图集图片列表
$query = "SELECT arc.id, arc.title, arc.litpic FROM#@__archives arc WHERE arc.mid = '$albumId'";
$dsql>SetQuery($query);
$dsql>Execute();
while ($row = $dsql>GetArray()) {
    // 输出图集图片
    echo '<img src="' . $row['litpic'] . '" alt="' . $row['title'] . '" />';
}
?>

说明

#@$__archives 是图集内容存储的表。

mid 是图集所属的模型ID。

litpic 是存储图片链接的字段。

2. 文章页调用图集图片

代码示例

<?php
// 引入DedeCMS函数库
require_once(DEDEINC.'/dede.php');
// 获取文章ID
$articleId = 123; // 假设文章ID为123
// 获取文章中包含的图集图片
$query = "SELECT * FROM#@__arctype WHERE id = (SELECT typeid FROM#@__archives WHERE id = '$articleId')";
$dsql>SetQuery($query);
$dsql>Execute();
$row = $dsql>GetArray();
$albumId = $row['mid']; // 获取图集ID
// 获取图集图片列表
$query = "SELECT arc.id, arc.title, arc.litpic FROM#@__archives arc WHERE arc.mid = '$albumId'";
$dsql>SetQuery($query);
$dsql>Execute();
while ($row = $dsql>GetArray()) {
    // 输出图集图片
    echo '<img src="' . $row['litpic'] . '" alt="' . $row['title'] . '" />';
}
?>

说明

#@$__arctype 是文章分类存储的表。

typeid 是文章所属的分类ID,这里用来获取关联的图集ID。

注意事项

确保您的数据库配置正确,能够连接到DedeCMS的数据库。

图集图片的路径需要正确,通常是uploads 文件夹下的路径。

上述代码中的表名和字段名可能因DedeCMS版本不同而有所差异,请根据实际情况调整。

通过以上步骤,您可以在DedeCMS的列表页和文章页中成功调用图集里的所有图片。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1167791.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-06
下一篇 2024-10-06

相关推荐

  • 如何修复DedeCMS 5.7中内容列表标签无法显示副栏目文章的问题?

    要解决织梦DedeCMS5.7内容列表标签无法调用副栏目文章的问题,可以尝试以下方法:,,1. 检查模板文件中的标签是否正确。确保使用了正确的标签来调用副栏目文章。,,2. 检查副栏目的设置。确保副栏目已经正确设置,并且有文章发布到该副栏目。,,3. 检查权限设置。确保当前用户具有访问副栏目文章的权限。,,4. 如果以上方法都无法解决问题,可以尝试升级DedeCMS到最新版本,或者寻求官方技术支持。

    2024-10-11
    04
  • 如何导出DEDECMS织梦后台模块插件?

    要导出DEDECMS织梦后台模块插件,你可以按照以下步骤进行操作:,,1. 登录到DEDECMS织梦后台管理界面。,2. 在左侧导航栏中找到并点击”模块”选项。,3. 在模块列表页面中,找到你想要导出的模块插件。,4. 将鼠标悬停在该模块插件上,会出现一个导出按钮(通常是一个带有箭头的图标)。,5. 点击导出按钮,系统会弹出一个文件保存对话框。,6. 选择保存路径和文件名,然后点击保存按钮,即可将模块插件导出到本地计算机。,,这样,你就成功导出了DEDECMS织梦后台的模块插件。导出的模块插件通常以.zip或.rar等压缩格式保存,你可以解压缩后查看和使用其中的文件。

    2024-09-29
    014
  • 如何在DedeCMS中成功添加自定义字体?

    DedeCMS添加新字体的方法1. 准备工作在添加新字体之前,请确保以下准备工作已完成:字体文件:下载并准备好您想要添加的字体文件(通常是.ttf或.otf格式),服务器权限:确保您的服务器文件权限允许您上传文件到网站目录,备份:在修改前备份网站数据,以防万一出现不可预料的问题,2. 上传字体文件1、登录到您的……

    2024-10-07
    06
  • 如何在dede中获取当前文档所属栏目的链接和名称?

    要获取当前文档所在栏目的链接和栏目名称,可以使用以下方法:,,1. 在织梦CMS中,可以使用系统内置标签channel来调用当前栏目的信息。具体代码如下:,,“php,{dede:field name=’channel’/},`,,2. 在模板文件中,可以使用$this˃Fields[‘channelid’]来获取当前文档所在的栏目ID,然后通过栏目ID获取栏目链接和栏目名称。具体代码如下:,,`php,,“,,注意:以上代码需要在织梦CMS的模板文件中使用。

    2024-10-10
    07

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入