织梦dedecms自定义功能函数(1):调用body中的图片(可多张)
前言
岛主会整理或者开发一系列常用功能函数。所有自定义功能函数都是放在\include\extend.func.php文件里。
这次织梦自定义功能函数功能为:独立提取 body字段中(可以是自定义字段名称)图片,可以自定义调用图片数量值。
函数代码
请将代码加入到 \include\extend.func.php 文件中
function getbodypics($string, $num)
{
preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$string,$matches);
$imgsrc_arr = array_unique($matches[]);
$count = count($imgsrc_arr);
$i = ;
foreach($imgsrc_arr as $imgsrc)
{
if($i == $num) break;
$result .= "<img src=\"$imgsrc\"/>";
$i++;
}
return $result;
} // $result .= "<img src=\"$imgsrc\"/>"; 这里可以给调用图片增加一些样式等。
// 例如:$result .= "<img class='imgs' src=\"$imgsrc\"/>";
函数调用方法
在 dede:arclist 和 dede:list 标签中调用代码如下:
{dede:arclist addfields='body' channelid='' row=''}
[field:body function=getbodypics(@me,)/]
{/dede:arclist}
<!-- body 可以改为自定义字段名称。 channelid为内容模型id,数字3,为调用图片数量,可以根据需要更改 -->
{dede:list}
[field:body function=getbodypics(@me,)/]
{/dede:list}
<!--body 可以改为自定义字段名称,但是需要在新建自定义字段时,一定要选择 【使字段可以在列表的底层模板中获得】-->
在内容模板中的调用代码:
{dede:field.body function=getbodypics(@me,)/}
<!-- body 可以改为自定义字段名称,3为调用图片数量。-->
https://blog.csdn.net/dededao/article/details/77504478
织梦dedecms自定义功能函数(1):调用body中的图片(可多张)的更多相关文章
- advancedsearch.php织梦高级自定义模型字段无法调用解决方案
advancedsearch.php织梦dedecms 高级自定义模型字段无法调用解决方案 ,具体步骤如下: 1 打开修改puls/advancedsearch.php文件,找到复制代码(不同版本可 ...
- 织梦DedeCMS自定义表单提交成功后返回当前页面的教程
织梦的自定义表单制作的留言,报名等功能,提交成功后会自动返回到首页,那么如何让它返回到当前页面呢? 方法如下: 打开plus/diy.php文件 找到 showmsg($bkmsg, $goto); ...
- 织梦DedeCMS给栏目添加缩略图调用的方法
织梦DedeCMS的栏目调用仅仅只有文字调用,没有栏目缩略图调用,而我们有时候又需要给栏目添加缩略图,并能够在前台调用,就可以试试通过下面的方法,给栏目添加缩略图. 首先要给栏目数据库表添加一个存储缩 ...
- 织梦dedecms自定义表单导出到excel教程
不写死任何字段,不写死任何东西,修改2个文件,让织梦自定义表单自由导出到Excel表格里. 添加教程 1.\dede\templets\diy_main.htm 找到 前台预览</a> 在 ...
- 织梦dedecms自定义字段在首页列表页文章页的调用
1.首页调用. {dede:arclist addfields='字段英文名' channelid='模型ID' row='条数' type='栏目ID'} [field:字段英文名/ ...
- 织梦dedecms文章发布日期时间调用标签大全
dedecms首页时间标签: 1.12-27 样式 [field:pubdate function='strftime("%m-%d",@me)'/] 2.May 15, 2012 ...
- 织梦dedecms自定义搜索可以按照附加表字段进行搜索
因为需要在网上搜索了一下找到此修改方法: 首先 是新建模型:商标信息 模型:附加表为dede_shangbiao ,附加字段先添加了2个,sbID(商标ID)和chuangyi(创意说明)然后 打开需 ...
- 织梦dedecms自定义表单设置必填项
1. 用php验证 在plus/diy.php的第 40行下加 //增加必填字段判断 if($required!=''){ if(preg_match('/,/', $required)) { $re ...
- 织梦DedeCMS自定义表单diy_list.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- MATLAB学习(七)求解优化问题:线性规划 非线性规划 拟合与插值 多目标规划
Minf(x)=-5x1 -4x2 -6x3 x1 -x2 +x3 <=20 3x1 +2x2 +4x3 <=42 ...
- linux下的缓存机制buffer、cache、swap
一.缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果 ...
- Cloudera Manager 常见异常
1. Cloudera Management Service服务全部无法启动 观察到的现象: (1)cm service 组件无法启动,启动时服务请求超时终止:(2)主机信息也无法获取到,一直提示“无 ...
- Linux0.11学习
Linux 0.11虽然不是什么“珠穆朗玛峰”,但它肯定还是“华山”或“泰山”.虽然有路但你还是需要最基本的努力和花费一定的代价才能“攀登”上去.1. PC兼容机硬件工作原理(比如8259A,8253 ...
- VS Code中内置终端运行C中文乱码问题
环境:Win10 + VS Code + Code Runner插件 原因:VS Code默认文件编码为 UTF-8,生成的可执行文件也是UTF-8编码的,但是系统编码为 GB2312,所以程序中的中 ...
- SpringBoot + thymeleaf 实现分页
SpringBoot结合Thymeleaf实现分页,很方便. 效果如下 后台代码 项目结构 1. 数据库Config 由于hibernate自动建表字符集为latin不能插入中文,故需要在applic ...
- mysql对数据的操作
增: insert into 表名(字段,字段,字段) values(值,值,值): insert into 表名 values(值,值,值): insert into 表名 set 字段=值, 字段 ...
- 【JAVA开发】Eclipse几个版本说明
查看Eclipse的版本号: 1. 找到eclipse安装目录 2. 进入readme文件夹,打开readme_eclipse.html 3. readme_eclipse.html呈现的第二行即数字 ...
- Linux软链接的创建,删除,修改
Linux软链接,类似于windows系统的快捷键.譬如你将windows系统的D盘中某一个文件夹放在桌面上当做快捷键. 一.软链接创建 1.创建软链接 ln -s [目标目录] [软链接地址] [目 ...
- Docker的网络模式和跨主机通信
文章转载自:http://www.a-site.cn/article/169899.html Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docke ...