织梦自定义模型高级搜索字段不显示链接地址不能调用解决方法


最近使用织梦dedecms自定义了一个模型,然后想加个高级搜索的功能,因为之前一直没做过dedecms自定义模型的高级搜索以为会很复杂,其实跟系统自带文章模型的搜索是一样的,先在后台的“内容模型管理”中生成一下高级搜索模板

 

但是最后碰到一个问题,文章标题显示正常,但是链接调用不出来,后来看了下advancedsearch.php文件发现

  

 $query = "SELECT main.id AS aid,main.*,main.description AS description1, type.*

    FROM $maintable main

    LEFT JOIN dede_arctype type ON type.id = main.typeid

    LEFT JOIN $addontable addon ON addon.aid = main.id

    $where  $orderby";

 

这段代码就是查询字段的,其中addon就是附加表了,但这里并没有查询addon的字段,知道了问题所在,修改就简单多了,只要加了addon的字段查询(SELECT addon.*,)就行

最终的代码为:

$query = "SELECT addon.*, main.id AS aid,main.*,main.description AS description1, type.*

    FROM $maintable main

    LEFT JOIN dede_arctype type ON type.id = main.typeid

    LEFT JOIN $addontable addon ON addon.aid = main.id

    $where  $orderby";

 

如果加上后还是不行,请您确定你的搜索模板是有以下php代码

{dede:datalist}

<?php

$fields['stime'] = GetDateTimeMk($fields['senddate']);

$fields['arcurl'] = GetArcUrl($fields['aid'],$fields['typeid'],$fields['senddate'],$fields['title'],$fields['ismake'],$fields['arcrank'],$fields['namerule'],$fields['typedir'],$fields['money']);

$fields['typeurl'] = GetTypeUrl($fields['typeid'],MfTypedir($fields['typedir']),$fields['isdefault'],$fields['defaultname'],

   $fields['ispart'],$fields['namerule2'],$fields['moresite'],$fields['siteurl'],$fields['sitepath']);

?>

...

{/dede:datalist}

注:以上所说的advancedsearch.php为5.7版本的,如果你是5.6升级到5.7可能会有所不同。