1. SEO优化_织梦仿站[低至599]_网络营销推广服务-一秒搜 > SEO优化 > SEO技巧 > >

织梦文档自定义属性j调用输出文章跳转网址的方法

织梦文档,当你把某个文档的自定义属性设置为跳转[j]时,我们希望能直接在页面中输入这个文档的跳转链接作为a标签里的链接

第一种方法,需要改动一个程序文件

打开 /include/helpers/channelunit.helper.php 找到,大概在第61行

$articleUrl = GetFileName($aid,$typeid,$timetag,$title,$ismake,$rank,$namerule,$typedir,$money,$filename);

在它的上面加入

global $dsql;$row = $dsql->GetOne("SELECT c.addtable FROM `dede_archives` AS a LEFT JOIN `dede_channeltype` AS c ON a.channel=c.id where a.id='$aid'");$addtable = trim($row['addtable']);$row = $dsql->GetOne("SELECT arc.flag,addf.redirecturl FROM `$addtable` addf LEFT JOIN `dede_archives` arc ON addf.aid=arc.id WHERE addf.aid=$aid");if(preg_match("#j#", $row['flag']) && $row['redirecturl']){return $row['redirecturl'];}

调用标签不变,还是用 [field:arcurl/]

第二种方法,不需要改动程序文件

1、dede:arclist标签中调用方法
{dede:arclist typeid='2' row='10' channelid='1' addfields='redirecturl'}<a href="[field:redirecturl/]">[field:title/]</a>{/dede:arclist}

channelid='1' 里面的1是模型id

addfields='redirecturl' 里面的 redirecturl 其实就是跳转地址字段名,因为这个字段是在附加表

2、dede:list标签中调用方法

1、在内容模型-普通文章模型(或者其他模型)-基本设置-列表附加字段,添加redirecturl进去

redirecturl

2、在内容模型-普通文章模型(或者其他模型)-字段管理-模型字段配置(文本模式),添加

<field:redirecturl itemname="跳转网址" type="text" isnull="true" islist="1" default="" rename="" />

添加好这2步以后就可以直接在dede:list标签里直接使用[field:redirecturl/]标签来调用跳转地址了

{dede:list pagesize='10' titlelen='250'}<a href="[field:redirecturl/]">[field:title/]</a>{/dede:list}

不需要写其他多余的 channelid='1' 和 addfields='redirecturl'

如果有的文档不是跳转属性,想要输出正常的文档链接,那把

href="[field:redirecturl/]"

改成

href="[field:array runphp=yes]@me = (@me['redirecturl'] == '' ? @me['arcurl'] : @me['redirecturl']);[/field:array]"

最终效果

免责声明:本文由 一秒搜在https://www.1miaoseo.com发布,不代表SEO优化_织梦仿站[低至599]_网络营销推广服务-一秒搜立场。

本站所发布文章和图片均来自用户分享和网络收集,https://www.1miaoseo.com/seojc/seojq_1233.html文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。