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生成EXCEL的东东
Oct 09 PHP
PHP中防止SQL注入实现代码
Feb 19 PHP
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 20 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 PHP
PHP RabbitMQ消息列队
May 11 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使用websocket示例详解
2014/03/12 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
JS获取鼠标坐标的实例方法
2013/07/18 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
js快速排序的实现代码
2013/12/08 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
详解Angular的8个主要构造块
2017/06/20 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
详解javascript 正则表达式之分组与前瞻匹配
2018/05/30 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
跟老齐学Python之再深点,更懂list
2014/09/20 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
详解python中list的使用
2019/03/15 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
Django实现whoosh搜索引擎使用jieba分词
2020/04/08 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
从python读取sql的实例方法
2020/07/21 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
阿里旅行:飞猪
2017/01/05 全球购物
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
普天C++笔试题
2016/03/20 面试题
工业设计专业推荐信
2013/10/29 职场文书
大学生简历的个人自我评价
2013/12/04 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
西安导游词
2015/02/12 职场文书
医德医风自我评价2015
2015/03/03 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书