• 织梦dede:sql根据自定义字段填的文章id获取相关文章


    1、后台模型添加自定义字段,数据类型用单行文本(varchar),用来填要调用的相关文章的id

    填多个文章id用英文逗号隔开,例如:3,5,6,8,9

    2、在内容页模板里写dede:sql标签

    {dede:sql sql="SELECT * FROM #@_archives WHERE arcrank>-1 AND id in(~自定义字段名~) ORDER BY FIELD(id,~自定义字段名~)"}
    <a href="[field:id runphp=yes]$id=@me;$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]"><img src="[field:litpic/]">[field:title/]</a>
    <p>[field:description/]</p>
    {/dede:sql}

    ~自定义字段名~ 有2处,改成你自己的字段名,例如 ~likeids~

    3、打开 /include/taglib/sql.lib.php 找到

    preg_match_all("/~([A-Za-z0-9]+)~/s", $sql, $conditions);

    改成

    preg_match_all("/~([A-Za-z0-9_]+)~/s", $sql, $conditions);

    继续找到

    $sql = str_replace($conditions[0][$key], "'".addslashes($refObj->Fields[$value])."'", $sql);

    改成

    if(is_numeric(str_replace(',','',$refObj->Fields[$value])))
    {
    	$sql = str_replace($conditions[0][$key], addslashes($refObj->Fields[$value]), $sql);
    }
    else
    {
    	$sql = str_replace($conditions[0][$key], "'".addslashes($refObj->Fields[$value])."'", $sql);
    }

    完成

  • 相关阅读:
    知多少进程?
    提高.NET应用性能
    战术设计DDD
    win7下exe文件设置为开机启动
    CQRS项目
    DDD总览
    ML.Net Model Builder
    MySQL主主复制搭建教程收集(待实践)
    MySQL主从复制搭建教程收集(待实践)
    MySQL集群方案收集
  • 原文地址:https://www.cnblogs.com/dedehtml/p/9913842.html
Copyright © 2020-2023  润新知