DEDE实现转跳属性文档在模板上调用出转跳地址


Posted in PHP onNovember 04, 2016

首先在/include/extend.func.php增加以下方法:   

/**
 * 动态地址转静态输出 by Windchaser QQ:939238564
 * $arcurl 动态网址
 * @return String
 */
function arcurlHtml($arcurl){
  preg_match('/view.php\?aid=(\d+)/',$arcurl,$arcid);
  if(!empty($arcid) && is_array($arcid)){//匹配是否存在动态地址
    global $dsql;
    $addtable = $dsql->GetOne("SELECT channel.addtable FROM #@__channeltype AS channel LEFT JOIN #@__archives AS arc ON arc.channel=channel.id
WHERE arc.id='{$arcid[1]}'");//获取模型类型表名
    $redirecturl = $dsql->GetOne("SELECT redirecturl FROM {$addtable['addtable']} WHERE aid = '{$arcid[1]}'");//动态获取表名,并查询redirecturl字段数据
    if(!empty($redirecturl['redirecturl'])){
      return $redirecturl['redirecturl'];//返回redirecturl字段数据
    }else{
      return $arcurl;
    }
  }else{//非动态地址直接返回原地址
    return $arcurl;
  }
}

在模板上的使用方式有两种形式:

#第一种:
[field:arcurl function='arcurlHtml(@me)'/]
#第二种:
[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];@me=arcurlHtml(@me);[/field:id]

完整调用:

#第一种
{dede:arclist titlelen='45' channelid='-1' limit='0,4' type='commend.' flag='c'}
       <li class="RTLi"><a href="[field:arcurl function='arcurlHtml(@me)'/]" title="[field:title/]" target="_blank"><img width="236" height="136" src="[field:picname/]" /></a></li>
     {/dede:arclist}
#第二种
{dede:sql sql="SELECT * FROM xzzj_channeltype a left join xzzj_archives b on a.id = b.channel where a.id=-1 ORDER BY b.pubdate DESC LIMIT 0,2"}
        <a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];@me=arcurlHtml(@me);[/field:id]" class="s_contentRTPIA" target="_blank" title="[field:title/]" ><img src="[field:litpic/]" alt="[field:title/]" width="218" height="124" class="mb5"/><span class="s_contentRTPIASpan">[field:title/]</span></a>
    {/dede:sql}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
第十二节--类的自动加载
Nov 16 PHP
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
php下几个常用的去空、分组、调试数组函数
Feb 22 PHP
php防盗链的常用方法小结
Jul 02 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
解析PHP缓存函数的使用说明
May 10 PHP
php使用Imagick生成图片的方法
Jul 31 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
Oct 08 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
在Laravel5中正确设置文件权限的方法
May 22 PHP
php使用file函数、fseek函数读取大文件效率对比分析
Nov 04 #PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 #PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 #PHP
php array_slice 取出数组中的一段序列实例
Nov 04 #PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 #PHP
PHP之将POST数据转化为字符串的实现代码
Nov 03 #PHP
PHP读取文件的常见几种方法
Nov 03 #PHP
You might like
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php 读取输出其他文件的实现方法
2016/07/26 PHP
JavaScript实现删除电脑的关机键
2016/07/26 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
一份python入门应该看的学习资料
2018/04/11 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
Hotels.com英国:全球领先的酒店住宿提供商
2019/01/24 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
财务部岗位职责
2013/11/19 职场文书
大学生学业生涯规划
2014/01/05 职场文书
教师校本培训方案
2014/02/26 职场文书
承诺书怎么写
2014/03/26 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
主题教育活动总结
2014/05/05 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
2014年化验员工作总结
2014/11/18 职场文书
大学生党性分析材料
2014/12/19 职场文书
2015年酒店工作总结
2015/04/28 职场文书
中学教师读书笔记
2015/07/01 职场文书
导游词之唐山景点
2019/12/18 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python