织梦系统编程收集

来源:互联网 发布:linux mint 17 输入法 编辑:程序博客网 时间:2024/06/05 05:37

1. [field:pubdate function="GetDateTimeMK(@me)"/]标签获得当前时间的:yyyy-mm-dd HH:MM:ss的格式,主要用的方法是GetDateTimeMK(@me)

2. [field:senddate function="strftime('%y-%m-%d %H:%M',@me)"/] 获得制定格式的时间。strftime是用来指定时间格式的方法

3. {dede:field name='title'/} 用来获得栏目的主标题和子标题

4. [field:description function='cn_substr(@me,60,100)'/]读取文章择要信息.

5. a) cn_substr(@me,length,startlength) 和 cn_substr(@me,50) 这两种用法,截取制定长度的标题或栏目内容。
      length:要截取的长度
      startlenght:从哪个长度开始截取
   
   b) substr(@me,0,20) 从第一个位置开始截取指定字符串后面的20个字符串。
   
   c) strstr($row['ntypedir'],'/')   从第一个出现'/'符号的位置开始截取字符串
    
   d) strrchr($row['ntypedir'],'/') 从最后一次出现'/'符号的位置开始截取字符串
   

6. 标签名称:channel
标记简介:织梦常用标记,通常用于网站顶部以获取站点栏目信息,方便网站会员分类浏览整站信息
功能说明:用于获取栏目列表
适用范围:全局使用
基本语法:
{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}
<li><a href='[field:typelink/]'>[field:typename/]</a> </li>
{/dede:channel}
参数说明:
typeid = '0' 栏目ID
reid = '0' 上级栏目ID
row = '100' 调用栏目数
col = '1' 分多少列显示(默认为单列)
type = 'son | sun' son表示下级栏目,self表示同级栏目,top顶级栏目
currentstyle = '' 应用样式
底层模板字段:
ID(同 id),typeid, typelink, typename, typeurl,typedir(仅表示栏目的网址)
例:
{dede:channel type='top'}
<a href='[field:typelink /]'>[field:typename/]</a> 
{/dede:channel}
注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类
注意:直接使用[field:typename/]能获得当前栏目的名称

7. 获得所在文章栏目的栏目名称:{dede:type}[field:typename/]{/dede:type}
    获得栏目内容:{dede:type typeid='1816'}<a href="[field:typelink/]" class="more" target=_blank>更多>></a>{/dede:type}

8. 读制定栏目的栏目名称:{dede:arclist typeid='28' row='1'}[field:typelink/] [field:typename/] {/dede:arclist} 
[field:typelink/]:此包含对应的名称和连接地址
[field:typename/]:只有名称

9. pagelist 列表分页标签模版在哪里?
arc.archives.class.php //修改内容页分页样式
arc.listview.class.php //修改栏目列表分页样式
arc.freelist.class.php //修改自由列表分页样式 
arc.searchview.class.php //修改搜索结果分页样式

10. [field:writer/]获得文章作者名称。

12。怎么让织梦CMS在首页的文章标题旁显示作者啊,而且点击作者就能进入他的空间,调用标签如下
<a href="/member/index.php?uid=[field:writer/]" target="_blank">[field:writer/]</a>

13. 读取指定标题的下一级相同级别的所有目录?
     {dede:channel typeid='174' type='son' row='14'}
<li><a href='[field:typelink /]' target=_blank>[field:typename/]</a></li> 
     {/dede:channel}

14. 获得文章的内容和编辑的作者:{dede:field.body/}(责任编辑:{dede:adminname/})

15. 获得当前目录的上级目录id : {dede:field name='reid'/}

16. 获得当前目录的上级目录名称:
{dede:type}
   [field:id runphp=yes]
      $tsql = new DedeSql(false);
      $typelink2 = '';
      $tsql->SetQuery("Select i.typedir,i.typename From t left join i on i.id=t.reid where t.id='@me'");
      $tsql->Execute('t');
      while($row = $tsql->GetArray('t',MYSQL_ASSOC))
      {
         $typelink2 .= "<a href='../'>".$row['typename']."</a>";
      }
      @me=$typelink2;
   [/field:id]
{/dede:type}

17. 读取某个栏目下面指定子栏的列表信息
{dede:type}
   [field:id runphp=yes]
      $tsql = new DedeSql(false);
      $typelink2 = '';
      $tsql->SetQuery("Select i.id, i.typedir,i.typename From dede_arctype t left join dede_arctype i on i.reid=t.id where t.id='@me' and i.typename ='试题'");
      $tsql->Execute('t');
      while($row = $tsql->GetArray('t',MYSQL_ASSOC))
      {
          $tid = $row['id'];
      }
      @me=$tid;
      $tsql2 = new DedeSql(false);
     $tsql2->SetQuery("SELECT t.title,t.senddate,c.body,c.aid ,p.typedir FROM dede_archives t,dede_addonarticle c,dede_arctype p where t.typeid ='@me' and t.id = c.aid and p.id='@me' limit 0,20 ");
       $tsql2->Execute('t');
       while($row2 = $tsql2->GetArray('t',MYSQL_ASSOC))
      {
          $unixdate = $row2['senddate'] + 28800;
      $sy = gmdate("Y",$unixdate);
      $smd = gmdate("md",$unixdate);
      $dir = cn_substr(strrchr($row2['typedir'], "/" ));
      $dir .= '/'.$sy.'/'.$smd.'/'.$row2['aid'].'.html'; 
      $typelink2 .= "<li><a href='.$dir' style='' target=_blank;>".cn_substr($row2['title'],28)."</a></li>";
      }
      @me = $typelink2;
   [/field:id]
{/dede:type}

18. 获得某个栏目下所有栏目名称及其栏目内容信息
{dede:channelArtlist col=7 tablewidth='100%'} 
   <div class=area>
    <DIV class=title>
     {dede:type}
      <h2>[field:typename/]</h2>
      <a class=more href="[field:typelink/]" target=_blank>更多&gt;&gt;</a>
     {/dede:type}
    </DIV>
    <UL class=list2>
     {dede:arclist flag='h' titlelen='30' row='16'}
      <li><a href="[field:arcurl/]" title="[field:title/]" target=_blank>[field:title/]</a></li>
     {/dede:arclist}
    </UL>
   </div>
{/dede:channelArtlist}

19. 取得栏目连接和栏目名称,编程实现:可以截取指定长度的标题
{dede:type}
   [field:typename runphp=yes]
      $tsql = new DedeSql(false);
      $typelink2 = '';
      $tsql->SetQuery("Select i.id, i.typedir,i.typename From dede_arctype t left join dede_arctype i on i.reid=t.id where t.id=309");
      $tsql->Execute('t');
      while($row = $tsql->GetArray('t',MYSQL_ASSOC))
      {
    $dir = "http://127.0.0.1".strstr($row['typedir'], "/");
    $typelink2 .= "<li><a href='$dir' target=_blank>".cn_substr($row['typename'],10,0)."</a></li>";
      }         
      @me = $typelink2;
   [/field:typename]
{/dede:type}

20. 交叉栏目的指定,多个交叉栏目用逗号隔开

21. DEDEINC 指定的路径是include路径
     DEDEDATA 指定的路径是DATA路径
     DEDEADMIN 指定的路径是admin路径

22. include文件夹里面的common.inc.php文件存储路径全局变量,以及常用配置的全局变量。

23. include文件夹里面的dedesql.class.php文件存储数据库操作类,以及常用的数据库操作方法。

24. common.func.php封装一些常用方法 (邮件格式检查,格林威治时间处理相关方法,各种编码文字截取,获取拼音)

25. inc_fun_funAdmin.php

26. {dede:global.cfg_basehost/} 获得网站根目录

27. 读取正常标题:[field:title/]   读取简略标题:[field:shorttitle/] 

28. 织梦二级域名的绑定?
    a) 新建一个顶级栏目设置这几个属性:
常规选项里面:是否隐藏栏目选择隐藏,目录相对位置设置为站点根目录
高级选项里面:多站点支持选择启用,绑定域名(指定你要绑定的域名地址,不分一二级域名).

    b) 如上设置后我们需要在数据库中对已经移动在上述栏目里面的栏目进行修改,主要检查顶级栏目(topid)对应栏目id是否正确(因为当移动栏目时,栏目对应的顶级栏目id没有更改).
   顶级栏目如果正确后,检查多站点支持(moresite)是否开启(0未开启,1开启)。
   
29. DEDE55调用热门搜索的代码(不是热门TAG)?
     {dede:hotwords num='6'/}
     
30. 读取当前文档的上一篇文档:{dede:prenext get='pre'/} 读取文档的下一篇文档:{dede:prenext get='next'/}

31. 读取非本栏目的相关文章内容?

{dede:loop table='#@__archives' row = '6' sort = 'click ' if= typeid<>'@me'}
   <li><a title="[field:shorttitle/]" href="[field:arcurl/]">[field:shorttitle/]</a></li>
{/dede:loop}
     注意:flag 和 titlelen部分条件不能使
     
32. 批量修改制定顶级栏目包含的下级栏目信息?
    CREATE TABLE tmp as
SELECT b.id
FROM dede_arctype AS a, dede_arctype AS b
WHERE a.id = b.reid
AND (
a.id = 21 OR a.reid = 21 OR a.topid=21
);
UPDATE dede_arctype SET topid = '21',
moresite = '1',
sitepath = '/zk',
namerule = '{typedir}/{aid}.html',
siteurl = 'http://zk.yiduiyi.cn',
ishidden = '1' WHERE id IN ( select id from tmp);
DROP TABLE tmp;

33. 截取二级域名的url地址的实现?
{dede:type}
   [field:id runphp=yes]
      $tsql = new DedeSql(false);
      $typelink2 = '';
      $tsql->SetQuery("Select t.typedir,i.id,i.title,i.senddate From dede_arctype t left join dede_archives i ON i.typeid = t.id where t.id='@me' limit 0,5");
      $tsql->Execute('t');
      while($row = $tsql->GetArray('t',MYSQL_ASSOC))
      { 
                        preg_match_all("|^\/[a-zA-Z0-9]{2,10}|",$row['typedir'],$out); 
                        $dirlen = strlen($out[0][0]);    
      $dir = "http://zw.yiduiyi.cn".cn_substr($row['typedir'],100,$dirlen);
      $dir .= '/'.$row['id'].'.html';
      $typelink2 .= "<li><a href='$dir' target=_blank>".cn_substr($row['title'],50)."</a></li>";
      }
      @me=$typelink2;
   [/field:id]
{/dede:type}

   34. 在当前文章里面显示按点击率排行的相关文章(整站),不包含本文章?
   {dede:field.id runphp=yes}
   $tsql2 = new DedeSql(false);
     $typelink2 = '';
     $tsql2->SetQuery("SELECT t.id,t.title,t.senddate,p.typedir FROM dede_archives t,dede_arctype p where t.typeid = p.id AND t.id<>'@me' ORDER BY t.click DESC limit 0,10");
       $tsql2->Execute('t');
       while($row2 = $tsql2->GetArray('t',MYSQL_ASSOC))
     {           
      $dir = cn_substr(strrchr($row2['typedir'], "/" ));
      $dir .= '/'.$row2['id'].'.html'; 
      $typelink2 .= "<li>&nbsp;<a href='.$dir' target=_blank;>".cn_substr($row2['title'],28)."</a></li>";           
     }
     @me = $typelink2;         
{/dede:field.id}

    35. 获取当前文章所在的栏目中按点击率排行的相关文章,不包含本文章?
    {dede:field.id runphp=yes}  
     $tsql = new DedeSql(false);
     $typelink2 = '';
     $tid = '';
     $tsql->SetQuery("SELECT t.typeid FROM dede_archives t where t.id='@me'");
     $tsql->Execute('t');
     while($row = $tsql->GetArray('t',MYSQL_ASSOC))
     {
         $tid = $row['typeid'];
     }     
     $tsql2 = new DedeSql(false);
     $typelink2 = '';
     $tsql2->SetQuery("SELECT t.id,t.title,t.senddate,p.typedir FROM dede_archives t,dede_arctype p where t.typeid = p.id AND t.typeid='$tid' AND t.id<>'@me' ORDER BY t.click DESC limit 0,7");
     $tsql2->Execute('t');
     while($row2 = $tsql2->GetArray('t',MYSQL_ASSOC))
     {        
   $dir = cn_substr(strrchr($row2['typedir'], "/" ));
   $dir .= '/'.$row2['id'].'.html'; 
   $typelink2 .= "<li>&nbsp;<a href='.$dir' target=_blank;>".cn_substr($row2['title'],28)."</a></li>";
     }
     @me = $typelink2;                 
{/dede:field.id}

36. {dede:tslist /}标签是我自己开发的,如需使用这个标签需要用我开发文件包替换织梦已存在的。
    调用方法{dede:tslist pagesize='50' titlelen='30' tsjiange='5' tsstyle='<ul>' tsstyleend='</ul>'}{/dede:tslist}
    下面这3个参数是我添加的,功能如下:
    tsjiange:控制间隔
    tsstyle:开始特殊样式
    tsstyleend:结束特殊样式
    
37. 列出当前栏目和上级栏目的路径和名称,例如:育儿知识 > 胎教
{dede:type}
   [field:id runphp=yes]
      $tsql = new DedeSql(false);
      $typelink2 = '';
      $tsql->SetQuery("Select i.typename,t.typename ntypename From t left join i on i.id=t.reid where t.id='@me'");
      $tsql->Execute('t');
      while($row = $tsql->GetArray('t',MYSQL_ASSOC))
      {
      $gourl = strstr($row['ntypedir'],'/');
      $typelink2 .= "<a href='../'>".$row['typename']."</a>"." > "."<a href='./'>".$row['ntypename']."</a>";
      }
      @me=$typelink2;
   [/field:id]
{/dede:type}

     注意:此用法可以扩张,也可以向上延伸
     
38. 读热门tag怎么添加样式?
     {dede:loop table='#@__search_keywords' sort='count' row='10' if=''} 
<li><a class="tag" href="plus/search.php?keyword=[field:keyword/]"> [field:keyword/]</a></li> 
     {/dede:loop}

原创粉丝点击