织梦dedecms首页如何调用联动类别代码

织梦教程 强烈建议 2024-02-06 14:14 116 0

  如何在织梦dedecms v5.6 首页调用联动类别代码,如何实现呢?

  ***步:channelunit.func.php中添加如下函数

  //参数说明:第1个参数是从信息表里读取出来的类别ID,第2个参数是联动菜单类别 //这样这个函数就不限于只调用分类信息的信息类别了,

  还可以用于其它地方 function GetInfoType($tid,$bigt) { global $dsql; $typename=''; $query="Select ename From `dede_sys_enum` where evalue=$tid and egroup='$bigt'";

  $dsql->Execute('ename',$query); while($row=$dsql->GetArray('ename')) { $typename .=($typename=='' ? $row['ename'] : ','.$row['ename']); } return $typename; } //------------------

  Add By CxChina.Com ----- End ------------------------- (V5.3)加到\include\common.func.php文件的 class="quote">

  //自定义函数接口

  上面。

  第二步:在前台页面请用 class="quote">

  {dede:arclist row=14 titlelen=32 noflag='h' addfields='nativeplace' channelid='1'}

  

  • [[field:nativeplace function=GetInfoType(@me,'nativeplace')/]] [field:title/]
  •   {/dede:arclist}

      来调试。

      代码解释:

      1.addfields='nativeplace' channelid='1'这个是调用的附加表字段;

      ①. 为什么要调用附加表字段?

      因为联动菜单的值就是存到附加表里面的,你仔细想想你有没有自己加过自定义联动菜单字段!

      ②. channelid参数是什么意思?

      告诉解析函数你的附加表在哪个表!这里告诉的是附加表的ID,那么内容模型里面的ID对应的附加表你相信程序会自动帮你找到的。

      2.[field:nativeplace /] 这一个就是调用的文档联动菜单的枚举值。附加表存储的也就是联动类别里对应的枚举值的值而已。

      3. function=GetInfoType 这个就是我们上面的自定义函数调用!这点是不能变的。

      4.(@me,'nativeplace') 这里面有两个变量,***个为@me 它的意思是当前值,固定不变的,

      说白了就是告诉我们上面那个自定义函数要查询的枚举值的值。第二个,是联动菜单的缓存组名,

      一般与前面的那个[field:nativeplace/]中的红色nativeplace 字段名保持一致即可。



    时间:(2024-02-06 14:14:13)
    本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!