织梦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

原文地址:https://www.cnblogs.com/shandayuan/p/8559368.html