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 相关文章推荐
php&amp;java(一)
Oct 09 PHP
深入PHP autoload机制的详解
Jun 09 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
php中动态修改ini配置
Oct 14 PHP
PHP调用MySQL存储过程并返回值的方法
Dec 26 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
Smarty环境配置与使用入门教程
May 11 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 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代码
2006/12/06 PHP
php中导出数据到excel时数字变为科学计数的解决方法
2013/02/03 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
js实现点击按钮随机生成背景颜色
2020/09/05 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python操作csv文件实例详解
2017/07/31 Python
5款非常棒的Python工具
2018/01/05 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Python3监控疫情的完整代码
2020/02/20 Python
利用python生成照片墙的示例代码
2020/04/09 Python
jupyter实现重新加载模块
2020/04/16 Python
python为什么要安装到c盘
2020/07/20 Python
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
小学五年级语文上册教学计划
2015/01/22 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
课改心得体会范文
2016/01/25 职场文书
python异步的ASGI与Fast Api实现
2021/07/16 Python