• 织梦dede的学习


     给栏目增加缩略图调用它:

    https://www.cnblogs.com/wuxinyiwu/p/8085114.html

    新加的图片字段 调用时会出现  {dede:img text='' width='270' height='129'} /uploads/101017/1-10101H21F54P.gif {/dede:img}这样的形式:

    创建自定义函数
    打开 /include/extend.func. 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的?>上一行加入以下函数代码:(如果结尾没有?>那就直接在最下面添加)
    function GetOneImgUrl($img,$ftype=1){  
    if($img <> ''){  
    $dtp = new DedeTagParse();  
    $dtp->LoadSource($img);  
    if(is_array($dtp->CTags)){  
    foreach($dtp->CTags as $ctag){  
    if($ctag->GetName()=='img'){  
    $width = $ctag->GetAtt('width');  
    $height = $ctag->GetAtt('height');  
    $imgurl = trim($ctag->GetInnerText());  
    $img = '';  
    if($imgurl != ''){  
    if($ftype==1){  
    $img .= $imgurl;  
    }  
    else{  
    $img .= '<img src="'.$imgurl.'" width="'.$width.'" height="'.$height.'" />';  
    }  
    }  
     
    }  
    }  
    }  
    $dtp->Clear();  
    return $img;  
    }  
    }
    下面就可以开始调用图片地址了。
     列表页和首页调用方法:
    [field:自定义图片字段名 function="GetOneImgUrl(@me,显示类型)"/]
    比如:我们的自定义图片字段名为 datu 和 xiaotu,
    只举例调用datu字段的方法,那么调用方式有以下两种:
    [field:datu function='GetOneImgUrl(@me,0)'/] 调用图片的信息,自动调用宽度和高度(已包含Html代码的<img />)
    [field:datu function='GetOneImgUrl(@me,1)'/] 只调用图片地址,一般可用于背景图嵌套
    文章阅读页调用方法:
    {dede:field name='datu' function='GetOneImgUrl(@me,1)'/}
     
    是不是搞定了?就这么简单!
                {dede:channel typeid='3' type='son' row='8'}
                            <div class="c_t fl">
                                <img class="c_u" src="[field:typeimg/]" />
                                <a class="c_v fl" href="[field:typelink/]">介绍</a>
                                
                                <div class="clear"></div>
                            </div>
                        {/dede:channel}

    每个页面添加关键词描述:


    <title></title>
    <meta name="keywords" content="">
    <meta name="description" content="">



    首页标题关键词描述调用 {dede:
    global.cfg_webname/} {dede:global.cfg_keywords/} {dede:global.cfg_description/} 列表页标题关键词描述调用 {dede:field.title/}_{dede:global.cfg_webname/} {dede:field name='keywords'/} {dede:field name='description' function='html2text(@me)'/} 详情页标题关键词描述调用 {dede:field.title/}_{dede:global.cfg_webname/} {dede:field.keywords/} {dede:field.description function='html2text(@me)'/}


    首页用这个带选中样式:

    <li {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='active'":@me="";{/dede:field}>
        <a href="{dede:global.cfg_indexurl/}">首页</a>
    </li>

    dede开头写的三句代码:

    <title>{dede:global.cfg_webname/}</title>
    <meta name="description" content="{dede:global.cfg_description/}" />
    <meta name="keywords" content="{dede:global.cfg_keywords/}" />

    引入样式表:

    <link rel="stylesheet" href="/skin/css/commons.95f140f0.chunk.css" />

     头部调用:

    {dede:include filename="header.htm"/}

    1.遍历一级栏目名称:

    <div id="nav">
        <div class="auto">
            <a href="/dede/">首页</a>
              {dede:channel type='top' row='8'}
                 <a href='[field:typelink/]' target="_blank">[field:typename/]</a>
              {/dede:channel} 
            <div style="clear:both;"></div>
        </div>
    </div>

     遍历手机版一级栏目循环:

    列表页:

    {dede:channel type='top' row='10' typeid='2' }
                <li><a href='list.php?tid=[field:id/]'>[field:typename/]</a></li>
     {/dede:channel}

    遍历二级栏目名称:

    {dede:channel type='son'}
           <li class="fl"><a href="[field:typelink/]">[field:typename/]</a></li>
    {/dede:channel}

      [field:typename/]  栏目名称

      [field:typelink/]  栏目的url地址(绝对路径)

      type表示需要取出的栏目的类型,顶级栏目(top),子栏目(son,需要配合typeid

      row表示取出几条栏目

    使用在首页

      调用出网站的顶级栏目

    使用在列表页:

      {dede:channel  type='son'}

        <li><a href='[field:typeurl/]'>[field:typename/]</a></li>

      {/dede:channel}

      表示调用出当前栏目的子栏目的信息

     列表分页:

    <!--栏目list开始-->
                    <ul class="page_list">
    
                        
                        {dede:list titlelen='55' row='10'}
                        <li>
                            <div class="pg_li_hd">
                                <a href="[field:arcurl/]" class="pg_hd_a fl">[field:title/]</a>
                                <a href="[field:arcurl/]" class="pg_hd_fx fr">分享</a>
                                <div class="clear"></div>
                            </div>
                            <div class="pg_li_min">
                                <a href="[field:arcurl/]" class="pg_li_img min_img fl">
                                    <img src="[field:litpic/]" alt="">
                                </a>
                                <div class="pg_li_text fr">
                                    <p class="fl">[field:description /]</p>
                                    <p class="fr">时间: [field:pubdate function=strftime('%Y-%m-%d',@me)/]</p>
                                    <div class="clear"></div>
    
                                </div>
                                <div class="clear"></div>
                            </div>
                        </li>
                        {/dede:list}
                        
                        


    <div class="dede_pages" style="margin-top: 20px; margin-bottom: 20px;"> <ul class="pagelist"> {dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/} </ul> </div>

    <style type="text/css"> .dede_pages ul{ float:left; padding:12px 0px 12px 16px; } .dede_pages ul li{ float:left; font-family:Tahoma; line-height:17px; margin-right:6px; border:1px solid #E9E9E9; } .dede_pages ul li a{ float:left; padding:2px 4px 2px; color:#555; display:block; } .dede_pages ul li a:hover{ color:#690; text-decoration:none; padding:2px 4px 2px; } .dede_pages ul li.thisclass, .dede_pages ul li.thisclass a,.pagebox ul li.thisclass a:hover{ background-color:#F8F8F8; padding:2px 4px 2px; font-weight:bold; } .dede_pages .pageinfo{ line-height:21px; padding:12px 10px 12px 16px; color:#999; } .dede_pages .pageinfo strong{ color:#555; font-weight:normal; margin:0px 2px; } .viewbox .dede_pages{ width:712px; float:none; overflow:hidden; text-align:center; } .viewbox .dede_pages ul{ margin:0px auto; float:none; clear:both; overflow:hidden; text-align:center; white-space:nowrap; } .viewbox .dede_pages ul li,.viewbox .dede_pages ul li a{ float:none; display:inline; } </style> </ul>

    2.types标签 (调用单个栏目显示)

        

    {dede:type typeid='39'} [field:typename /]{/dede:type}          //调用指定栏目的名称 
    

    {dede:global.cfg_cmsurl/}/plus/list.php?tid=3             //指定栏目的链接

    栏目变量当点击时自动检测当前id显示相对应的栏目名称:

    {dede:type}
      <a href="javascript:">[field:typename /]</a>
    {/dede:type}

    当前位置:

          {dede:field name='position'/}

          列表页:

          调用出当前栏目的位置。

          文档页:

          同上

     

    用在首页:

    指定typeid调用出对应的栏目信息

    调用出某个栏目的名称和进入某个栏目:

    <li class="fl">
      <
    a href="{dede:global.cfg_cmsurl/}/plus/list.php?tid=3" title="">{dede:type typeid='3'}[field:typename /]{/dede:type}</a>
    </
    li>

    3.调用文章显示:

    {dede:arclist flag='f' titlelen='55'}
      <li>
        <a href="[field:arcurl/]" title="" class="img"><img src="[field:litpic/]" ></a>
        <div class="news_js">
          <a href="[field:arcurl/]" title="">[field:title/]</a>    //调用栏目名称和栏目地址的变量
        </div>
        <p>[field:description /]</p>                     //调用简介的字段
      </li>
    {/dede:arclist}

    会用到的变量:

    [field:title/]                        //调用标题
    [field:arcurl/]                        //调用地址
    [field:description /]                    //调用简介
    [field:pubdate function=strftime('%Y-%m-%d',@me)/]  //调用时间      [field:pubdate function="MyDate('Y.m.d',@me)"/]

    [field:litpic/]                //调用缩略图
     
    {dede:global.cfg_cmsurl/}/plus/list.php?tid=3        //进入某个栏目的链接地址。
    
    

    遍历循环文章内容是加个判断来添加不同样式:

     {dede:arclist typeid= '7' titlelen='55' limit='0,2' row='2'}
          <li>
              <div [field:global name=autoindex runphp="yes"](@me==1)? @me="class='news_img_text fl' ":@me="class='news_img_text fr' ";[/field:global]">
                    <a href="[field:arcurl/]">[field:title/]</a>
                    <p>[field:description /]</p>
              </div>
              <a [field:global name=autoindex runphp="yes"](@me==1)? @me="class='news_img_img min_img fr' ":@me="class= 'news_img_img min_img fl' ";[/field:global] href="[field:arcurl/]" class="news_img_img min_img fr"> <img src="[field:litpic/]" alt=""> </a>
              <div class="clear"></div>
         </li>
    {/dede:arclist}
    limit='0,2' row='2'               //从第0条文章开始取取两条。
    limit='2,5' row='5'             //从第2条文章开始取取5条

    数字1,2,3,4,5,6,7等的输出:

    [field:global.autoindex/]

    友情链接的调用:

    <div class="fd_lk_hd">
      友情链接
    </div>
    <ul class="fd_lk_ul">
    
      {dede:flink row='24' type='text' titlelen="24" typeid="0"}
        <li class="fl">[field:link /]</li>
      {/dede:flink}
    
      <div class="clear"></div>
    </ul>

    头部尾部调用:

    {dede:include filename="head.htm"/}
    {dede:include filename="footer.htm"/} 

    到达首页的链接:

    {dede:global.cfg_cmsurl/}

    其他变量信息:

    首页常用标签:
    1.{dede:global.cfg_soft_lang/}
         调用出网站的编码
    2.{dede:global.cfg_webname/} 调用出网站的名称
    3.{dede:global.cfg_description/} 调用出网站的描述信息
    4.{dede:global.cfg_keywords/} 调用出网站的关键字
    5.{dede:global.cfg_templets_skin/} 调用出默认模板文件的目录
    6.{dede:global.cfg_cmsurl/} 调用出网站的目录,url地址
    7.{dede:global.cfg_cmspath/} 调用出网站的所在路径
    8.{dede:global.cfg_dataurl/} 调用出网站的data目录
    9.{dede:global.cfg_basehost/}                  //首页的链接地址 调用出网站所在的域名
    10.{dede:myad name='sifangku'/} 调用出对应的广告 name后面的值表示广告位标识
    11.{dede:include filename='my_head.htm'/} 引入另外一个模板文件,只要在filename后面写上模板文件的名字就可以了

    织梦添加新字段的方法:

     这时候已经创建成功,添加一篇文章去试试吧。

      解析来写下如何调用文章模型新增加的字段:

      文章页调用字段的方法为:{dede:field.字段/}

      所以新创建的字段文章页调用方法是:{dede:field.xingbie/}

      列表页调用字段的方法为:[field:字段/]

      所以新创建的字段列表中调用方法是:[field:xingbie/]

      例:

    Markup
    {dede:arclist row='1' typeid='1' addfields='xingbie' channelid='1'}
    [field:xingbie/]
    {/dede:arclist}

      addrields="字段一,字段二...",这里调用的是xingbie字段的内容。

      channelid='1'模型编号,文章默认为1,查看位置:后台--核心--内容模型管理。

      同样在{dede:list}里面也可以调用

    详细看:     https://www.genban.org/news/dedecms-8480.html

              <div class="y_gd">
                        <table class="bg_tb">
                            <tr>
                                <th>直销企业名称</th>
                                <th>直销企业性质</th>
                                <th>企业地址</th>
                                <th>批准时间</th>
                                <th>服务网点核查备案日期</th>
                            </tr>
                            
                            {dede:arclist typeid='48' row='16' channelid='1' addfields='zxqymc,zxqyxz,qydz,pzsj,barq'}    
                                <tr>
                                    <td>[field:zxqymc/]</td>
                                    <td>[field:zxqyxz/]</td>
                                    <td>[field:qydz/]</td>
                                    <td>[field:pzsj/]</td>
                                    <td>[field:barq/]</td>
                                </tr>
                            {/dede:arclist}
    
                        </table>
                    </div>

    织梦内容页:

       

    {dede:field.title/}                              //文章标题
    {dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/}        //时间
    {dede:field.writer/}                              //作者
    {dede:field.source/}                              //来源
    {dede:field.body/}                               //文章内容


    <div class="tsys">{dede:prenext get='pre'/}</div>              //上一篇
    <div class="tsys">{dede:prenext get='next'/}</div>              //下一篇

     

    织梦单页面  频道封面页:

    {dede:field.title/}        //标题

    {dede:field.content/}       //内容

    织梦添加字段后调用使用:(具体方法参考下面网站)

    https://www.genban.org/news/dedecms-8480.html

    织梦内容页点开后直接播放视频:(只需在src后面将要播放的视频链接变成个变量,从后台可以添加即可。)

    <iframe frameborder="0" height="498" src="{dede:field.qydz/}" width="100%"></iframe>

    dedecms 文章按权重排序问题:

    {dede:arclist typeid='9' flag='j' row='200' channelid='1' addfields='zxqymc,zxqyxz,qydz,pzsj,barq' isweight="Y" orderby='weight' orderway='asc'}    
      <tr>
        <td><a style="color: #000000;" href="[field:arcurl/]">[field:zxqymc/]</a></td>
        <td><a style="color: #000000;" href="[field:arcurl/]">[field:zxqyxz/]</a></td>
        <td><a style="color: #000000;" href="[field:arcurl/]">[field:qydz/]</a></td>
        <td><a style="color: #000000;" href="[field:arcurl/]">[field:pzsj/]</a></td>
        <td><a style="color: #000000;" href="[field:arcurl/]">[field:barq/]</a></td>
      </tr>
    {/dede:arclist}

    织梦搜索功能实现:

            <form action="../../plus/search.php" name="formsearch">
                    <div class="a">
                        <div class="cnt">
                            <input type="hidden" name="kwtype" value="0" />
                            <input id="searchValue1" name="q" type="text">
                            <button id="homeSearch1" onclick="return checkSearch('searchValue1');" type="submit" name="submit">Search</button>
                        </div>
                    </div>
                </form>

    搜索模板是default文件夹下的search.htm

    自定义模型中,有时候新增的字段会报以下的错误:

    Fatal error:Call to a member function GetInnerText() on a non-object inD:phpStudyWWWkaisiwoincludecustomfields.func.php  in line 539.

    解决办法:

    打开includecustomfields.func.php文件,找到539行:

    把$fvalue = trim($ntag->GetInnerText());

    替换成:$fvalue = ($ntag=="") ? trim($ntag) :trim($ntag->GetInnerText());

     就可以了

    数据库中进行删除数据库中数据表的字段sql语句:

    alter table 表名 drop column 列名;                 //删除数据库中数据表的某个字段

    织梦自定义图片的字段,被调用时显示别的样式修改:

    templets》system》channel_article_image.htm

    织梦列表页添加分页:

    1.修改列表页分页的php文件路径: include-》arc.listview.class.php文件修改

    2.分页html里的代码:

                            <!--产品列表开始-->
                                            {dede:list  channelid='1' titlelen='200' row='8'  pagesize='8'}
                                            <div class="proList">
                                                <div class="proImg">
                                                    <div>
                                                        <a href="[field:arcurl/]">
                                                            <img src="[field:litpic/]" border="0" alt="Q35y-25 Hydraulic iron worker(Double-Pump)" title="Q35y-25 Hydraulic iron worker(Double-Pump)">
                                                        </a>
                                                    </div>
                                                </div>
                                                <div class="desc">
                                                    <h3> <a href="[field:arcurl/]">[field:title/]</a> </h3>[field:description /]
                                                    
                                                </div>
                                            </div>
                                            {/dede:list}
                                            <!--产品列表结束-->
                                            
                                            
                                            <!---->
                                            
                                            <div class="pager">
                                            {dede:pagelist listitem="info,pre,next,pageno" listsize="5"/} 
                                            
                                            <style>
                                                .pager li{
                                                    display: none!important;    
                                                }
                                            </style>
                                            </div>
                                            
                                            <!---->

    织梦调用指定栏目下文章列表并分页

    说明:织梦默认的分页(list)是在当前栏目下分页,但很多时候我们需要制定某些栏目下的列表分页,就需要调用好多指定的栏目列表并分页。

    在这里我们就说一种最简单的方法吧,织梦除了自带当前栏目下分页还有指定多个栏目下的列表分页;

      1、找到使用模版的栏目—>更改—>常规选项—>栏目交叉—>手工指定交叉栏目的id(用逗号分开)

     2、使用默认的list调用即可,简单吧

      {dede:list pagesize="10" orderby='pubdate' }

      [field:title/]

      {/dede:list}

      {dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="1"/}

    (原文链接:https://www.genban.org/news/dedecms-553.html

    首页调用自定义字段:

    首先要在首页调用自定义字段用到最多的是arclist标签:
    
    {dede:arclist  typeid='栏目id' channelid='模型的id' addfields='自定义字段的名称 ,多个用逗号隔开'}
    
    [field:自定义字段名称/]
    
    {/dede:arclist}
    
    列表页调用可以直接在{list}标签中写:[field:自定义字段名称/] 即可。
    
    有一点记得注意,需要在后台勾选:使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择) 
    
    不勾选在前台无法调用到。

    循环遍历加判断显示不同样式:

    {dede:arclist typeid= '6' titlelen='55'  row='3'}
                            <div class="a_u">
                                <img [field:global name=autoindex runphp="yes"](@me%2==0)? @me="class='a_v fr' ":@me="class='a_v fl' ";[/field:global]  src="[field:litpic/]" />
        
                                <div [field:global name=autoindex runphp="yes"](@me%2==0)? @me="class='a_t fl' ":@me="class='a_t fr' ";[/field:global] >
                                    <div class="b_a">[field:pubdate function=strftime('%Y-%m-%d',@me)/]</div>
                                    <div class="b_b">[field:title/]</div>
                                    <div class="b_c">[field:description /]</div>
                                </div>
                            </div>
                        {/dede:arclist}

    自定义图片调用方法

    https://www.cnblogs.com/zoomingos/articles/11435358.html

  • 相关阅读:
    hdu5269 ZYB loves Xor I
    UVA 11181 Probability|Given
    UVA 10277 Boastin' Red Socks
    CodeForces 566B Replicating Processes
    UVA 10714 Ants
    CodeForces 567B Berland National Library hdu-5477 A Sweet Journey
    UVA 10759 Dice Throwing
    UVA 11027
    「CF241E」Flights
    「CF891C」Envy
  • 原文地址:https://www.cnblogs.com/shandayuan/p/8559368.html
Copyright © 2020-2023  润新知