织梦dedecms经验

二级域名配置php

一、只有顶级栏目可使用二级域名 并且顶级栏目的存放目录最好放在cms的根目录html

二、将二级域名绑定到顶级栏目的文件夹sql

三、织梦后台系统设置-核心设置-是否支持多站点。。。-选择是数据库

四、织梦后台系统设置-基本设置-网页主页链接和站点根网址填上数组

五、在须要绑定二级域名的顶级栏目的高级选项中 选择启用多站点支持 并填好域名缓存

六、选择应用到子栏目网络

七、更新缓存 更新栏目 更新文档curl

 ——————————————————————————————————————————函数

标签内调用函数工具

{dede:sql sql="SELECT * FROM `jk_feedback` WHERE `ischeck`='1' limit 0,1;"}

<div>问:[field:msg function="getCommentAskOrAnswer(@me,0)" function="cn_substr(@me,30)"/]</div>
<div>答: [field:msg function="@me=getCommentAskOrAnswer(@me,1);@me=cn_substr(@me,60);" /] </div>

{/dede:sql}

 

时间格式

 [field:pubdate function="MyDate('Y-m-d',@me)"/]   用这样的形式调用就可

 

——————————————————————————————————————————

分页调用

在页面用iframe 调用php分页文件 a.php

a.php文件里调用分页类  写好查询语句 放置参数 而后display输出模版(a.html

a.html里是分页模版(显示分页文章列表)

案例请看fenye文件夹

 ——————————————————————————————————————————

取文章地址

{dede:sql sql=”select * from archives”}

[field:id runphp='yes']

$id=@me;@me=";$url=GetOneArchive($id);@me=$url['arcurl'];

[/field:id]

{/dede:sql}

 

经过id取文章地址方法

在common.func.php里已经有了GetOneArchive()方法;

该方法已经取得了文章的路径和其余文章信息 返回的是一个数组;

能够将返回值直接改成返回文章路径;

也就是return return $reArr['arcurl'];

 ——————————————————————————————————————————

增长自定义文档属性

须要改动的数据库表及字段:archives表中的flag字段
另须要在arcatt表中增长定义的字母

好比咱们增长一个ID是“w”,属性名称是“网络”的自定义属性
注意:一经添加,ID是不能修改的,而属性名称能够修改

默认是
'c','h','p','f','s','j','a','b'
咱们增长的属性ID是w,则这个值改成
'c','h','p','f','s','j','a','b','w'

四、把上面的修改好了之后,打开表arcatt,以下图所示  

五、在打开的arcatt表加入自定义的属性,
函数这个地方不要进行任何的修改
sortid 值填写一个数字,必须不能之前用的重复
att 就是属性的值,这里咱们是  w
attname 这个是属性名称,咱们这里是 网络

——————————————————————————————————————————

月排行周排行

<ul><!-- 周排行-->
{dede:arclist sort='hot' subday='7' row=10 titlelen=64}
<li class="e1"><span>[[field:typelink function='str_replace("a ","a class=ulink ",@me)'/]] </span>
<a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>

 

月排行引用的代码以下:

 <ul><!-- 月排行-->
{dede:arclist sort='hot' subday='30' row=10 titlelen=64}
<li class="e1"><span>[[field:typelink function='str_replace("a ","a class=ulink ",@me)'/]] </span>
<a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
 

———————————————————————————————————————————

ID递增 [field:global name=autoindex/]使用方法

{dede:arclist row='8' att='3' type='p_w_picpath.'}

[field:litpic/]

[field:global name=autoindex runphp="yes"](@me!=8)? @me="|":@me="";[/field:global]

{/dede:arclist}

[field:global name=autoindex runphp="yes"] (@me%2==1)?@me="":@me="alt";[/field:global]

autoindex   itemindex 的使用心得区别  

channelartlist 标签下使用 {dede:global name='itemindex' runphp='yes'}@me;{/dede:global}

自增1

arclist            标签下使用 [field:global.autoindex/] 默认从1开始
channel         标签下使用 [field:global.autoindex/] 默认从0开始
channelartlist 标签下使用 {dede:global.itemindex/}  默认从1开始


arclist从0开始[field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global]

channel从1开始[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global][field:typename/]

channelartlist从0开始{dede:global name=itemindex runphp='yes'}@me=@me-1;{/dede:global}

——————————————————————————————————————————

dedecms解决描述和关键字过短的方法

方法是直接修改表字段的类型

1.改变栏目的关键词和描述字数: 
在系统工具---SQL命令行工具---运行SQL命令行:
                     alter table  dede_arctype change  column description  description  text;
                     alter table  dede_arctype change  column keywords  keywords  text;
这样几个解决栏目的关键词和描述字数的限制,想要多少字数就多少字


2.改变文章内容的关键词和描述字数:
一样在,系统工具---SQL命令行工具---运行SQL命令行:
                     alter table  dede_archives change  column description  description  text;
                     alter table  dede_archives change  column keywords  keywords  text;

接下来修改dede 文件下的 article_add.php 和 article_edit.php
$description = cn_substrR($description,500);
$keywords = cn_substrR($description,120);
其中红色的就是你想要字符数,分别是描述和关键词。

——————————————————————————————————————————

DEDE快速实现列表页读取内容页图片方法

怎么才能够在织梦模板的建的站里实现列表读取文章页的图片呢?下面是方法:

百度和谷歌中搜索了一下只找到了从列表页获取文章内容第一张图片的解决方法。最后本身也解决了列表页获取图片集第一张图片。今日和你们一并分享一下:
  1:在列表页获取文章内容页第一张图片
     在一般状况下图片的缩放图是有文章第一张图片生成的。缩放图和文章第一张图片直接存在必定的关系。咱们先看一下缩放图和第一张图片的路径:
     缩放图:
第一图片:
咱们观察能够发现:两张图片的后七位是不一样的:
咱们能够经过函数删除缩略图字符串最后七位,而后再补上后缀.jpg
函数以下:
//将缩放图转变为文章第一张图片
function firstimg($str_pic)
{
$str_sub=substr($str_pic,0,-7).".jpg";//删除缩略图字符串最后七位,而后再补上后缀.jpg
return $str_sub;
}

将该函数添加到../ include/ common.func.php 
调用的方法是:[field:litpic function='firstimg(@me)'/]
2:在列表页获取图片集中第一张图片
   图片集中的图片获取到图片有一点麻烦,分析图片集的数据库表结构后发现,织梦将图片集的描述、标题、图片地址都存放到了字段(addonimages)中。
   咱们来看一下addonimages字段内的内容:
{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='2'/}
{dede:img ddimg='/uploads/allimg/100830/1-100S0140H8.jpg' text='美甲师 何玲' width='270' height='403'} /uploads/allimg/100830/1-100S0140H8.jpg {/dede:img}
【/uploads/allimg/100830/1-100S0140H8.jpg】
这个就是咱们须要的网址。只有想办法将其过滤出来就能够了。
看一下咱们的功能函数:
//取图片集中的第一张图片
function imgurlsfirstimg($imgurls)
{
$start=strpos($imgurls,'ddimg=')+6;//寻找开始标记
if ($start) $imgurls=substr($imgurls,$start);//删除前面
$end=strpos($imgurls,'text=');//寻找结束标记
if ($end)   $imgurls=substr($imgurls,0,$end);//删除后面
return $imgurls;
}
其中标记为蓝色的部分是截取的标记。
将该函数添加到../ include/ common.func.php
使用的办法以下:
{dede:sql sql='select * from dede_archives, dede _addonimages where aid=id and dede _addonimages.typeid=16'} 
<Atitle="[field:title/]"href="/zuopin/"rel=[field:imgurlsfunction='imgurlsfirstimg(@me)'/]>[field:title/]</A>
{/dede:sql}
我使用的办法是用sql语句直接读取,你们能够修改成符合本身的。

——————————————————————————————————————————

列表页取栏目的简介、关键词、描述、名称、等等

<meta name="keywords" content="{dede:field name='keywords'/}" />

将name改成所取内容的名字如:name=’description’

获取栏目名称{dede:field name=typename/}

获取栏目路径{dede:field name=arcurl/}

——————————————————————————————————————————

在栏目列表和文章页面中得到当前栏目

找到include/inc_functions.php(此函数为公共函数,当程序运行时自动加载)

在尾部添加新的函数以下:

//经过栏目ID获取栏目的名称

function GetTypeName($typeid){

$dsql = new DedeSql(false);

$row = $dsql->GetOne("select typename From dede_arctype where ID=$typeid; ");

return $row['typename'];

}

调用方法示例:

{dede:field name='typeid' function=”GetTypeName(@me)”/}

 

DeDeCMS缩略图地址过长致使没法显示的解决方法

将表dede_archives 中litpic字段默认值由60改成100(不够再加大)便可,能够用phpmyadmin

 

 

调用body内容

{dede:arclist typeid='194' titlelen='140' addfields='body' channelid='1' row='1' flag='c'}
 <a href="[field:arcurl/]">
[field:body runphp="yes"]@me=html2text(@me);@me=cn_substr(@me,'540');
[/field:body]
</a> 
{/dede:arclist}

 

织梦模版全局变量 $refObj 

{dede:php}
   echo GetTypeUrl($refObj->Fields['id'],$refObj->Fields['typedir'],$refObj->Fields['isdefault'],$refObj->Fields['defaultname'],$refObj->Fields['ispart'],$refObj->Fields['namerule2'],'',$refObj->Fields['siteurl'],$refObj->Fields['sitepath']);
{/dede:php}
相关文章
相关标签/搜索