zoukankan      html  css  js  c++  java
  • dedecms 添加自定义标签显示非dede表数据

    需求:调用一个商城系统里面的产品数据到dedecms文章页,希望对需要类似需求的人有所帮助

    功能实现:为了不用垮数据库查询,dedecms安装到商城系统数据库里面

    下面是实现的代码(请根据自己的环境进行修改)

    include/taglib/hongyungoods.lib.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <?php
    /**
     */
    if(!defined('DEDEINC')) exit('Request Error!');
     
    function lib_hongyungoods(&$ctag, &$refObj)
    {
        global $dsql$envs$cfg_cmsurl;
         
        //属性处理
        $attlist="row|6,titlelen|0,tid|0";
        FillAttsDefault($ctag->CAttribute->Items,$attlist);
        extract($ctag->CAttribute->Items, EXTR_SKIP);
         
        //只在指定栏目显示
        if($tid>0 && $tid != $envs['typeid']) return '';
         
        if( !$dsql->IsTable("sl_products") ) return '没安装鸿运产品模块';
         
        $innertext $ctag->GetInnerText();
        //@todo hongyungoods.htm
        if(trim($innertext)==''$innertext = GetSysTemplets("hongyungoods.htm");
         
        //@todo 智能条件
        $where = 1;
        $limit = 5;
         
        $ctp new DedeTagParse();
        $ctp->SetNameSpace('field''['']');
        $ret '';
        $query = "SELECT p.`Name` AS title,
     CONCAT('http://www.hongyun2000.com/', ps.`AcStr`, '-view-', p.`ID`, '.html') AS url,
     CONCAT('http://www.hongyun2000.com/uploadfile/s/', p.`Images`) AS img
     FROM `sl_products` AS p
     LEFT JOIN `sl_products_sort` AS ps ON p.`SID` = ps.`ID`
     WHERE " . $where . " ORDER BY RAND() LIMIT " . $limit;
         
        $dsql->Execute('me',$query);
      while($rs $dsql->GetArray('me'))
      {
          $rs['title'] = 0 == $titlelen?$rs['title']:cn_substr($rs['title'], $titlelen);
            $ctp->LoadSource($innertext);
          foreach($ctp->CTags as $tagid=>$ctag) {
                if(!empty($rs[strtolower($ctag->GetName())])) {
                    $ctp->Assign($tagid,$rs[$ctag->GetName()]);
                }
              }
              $ret .= $ctp->GetResult();
      }
     
      return $ret;
    }
     
    ?>

    调用页面使用:

    1
    2
    3
    4
    5
    6
    {dede:hongyungoods}
    <dd>
        <span class="tlink"><a href="[field:url/]"><img src="[field:img/]" alt="[field:title/]"/></a>
        <a href="[field:url/]" target="_blank">[field:title/]</a></span>
    </dd>
    {/dede:hongyungoods}

     

  • 相关阅读:
    因浮动问题导致的IE6/7下的换行
    弹性回到顶部js代码
    页面图片的缩放问题
    js练习小结
    地址给的越精确,优先级越高
    判断IE浏览器的版本
    img图像对齐的方式
    三级导航收缩下拉框
    功能已经实现
    AE创建一个空白的Shapefile
  • 原文地址:https://www.cnblogs.com/heui/p/1980358.html
Copyright © 2011-2022 走看看