分类目录归档:DEDECMS技巧

DEDECMS技巧

DEDE更新列表页时错误提示Fatal error: Call to a member function GetInnerText() on a non-object in错误修改方法

DedeCms更新列表页时提示Fatal error: Call to a member function GetInnerText() on a non-object in错误修改方法

 

最近在做一个婚纱摄影网站,用到了自定义模型,遇到了些问题,在更新列表页时提示:Fatal error: Call to a member function GetInnerText() on a non-object in \include\taglib\channel\img.lib.php on line 42

这个错误提示会在更新自定义模型栏目列表的时候出现,修复此问题方法很简单。

编辑打开 \include\taglib\channel\img.lib.php

继续阅读

DEDE为CHANNEL 标签开启 description”栏目描述”属性

channel 这个标签没有description属性你需要自己把这个属性开启。到你的程序目录 include\taglib 找到 channel.lib.php 修改一下文件(78行~94行),如果你想查找所有top最顶层的栏目描述的话修改,以下代码top/son/self都开启了栏目描述。(红色代码)

if($type=='top')

    {
        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
          From `#@__arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    else if($type=='son')
    {
        if($typeid==0) return '';
        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
          From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }
    else if($type=='self')
    {
        if($reid==0) return '';
        $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
            FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
    }

dedecms 双语搜索结果实现方法MAXWO.COM

一般来说,我们使用DEDECMS制作中英文站时,需要在中文站上只搜索出中文站的内容,而在英文站只会搜索出英文站中的内容,此时就需要给英文站搜索栏目单独做个模板出来,可以按以下方法来实现.

第一步:复制plus目录下的serach.php文件 把复制后的更名为 searche.php做为新的搜索文件.

继续阅读

DEDE中英文站pagelist分页语种分类

作为曾经的织梦新手,相信碰到以下的几个问题是非常常见的,第一个就是织梦的留言板功能外观上不大适合企业网站,第二个就是做英文版的时候,分页同样实现英文的比较困难,曾近在论坛、百度等地方搜索了很久均没能找到满意的答案,不过今天找到下面这篇内容,并进行测试,发现可以适合织梦目前最新的5.7版,并且已经成功的实现,所以与大家分享下:

温馨提示:下面的第几行,第几行可以忽略,用DW的搜索功能进行索引,可以方便找到,目标代码。而下面有些代码搜索不到,只是因为一些“空格”的问题,修改的时候注意下就能找到。

1、打开include/arc.listview.class.php(本文以DedeCMS5.7为例)
找到(约29行)

var $remoteDir;

在其下面加上一个新行

var $pagelang;

找到(约528行)

$list_len = trim($ctag->GetAtt(“listsize”));

继续阅读

DEDE标签调用栏目seotitle

大家可能会用到栏目信息表arctype里的其他字段,比如dedecms5.7标签调用栏目seotitle

就是{dede:channel type=’son,top,self’}[field:seotitle/]{/dede:channel}这样的调用方法:

打开/include/taglib文件夹channel.lib.php,第48行至64行中有:

if($type==’top’)
{
$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `80php_arctype` where reid=0 And ishidden<>1 order by sortrank asc limit 0, $line “;
}
else if($type==’son’)
{
if($typeid==0) return ”;
$sql = “Select id,typename,seotitle,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `80php_arctype` where reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0, $line “;
}
else if($type==’self’)
{
if($reid==0) return ”;
$sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `80php_arctype` where reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0, $line “;
}

 

在sql语句里补充:Select id,typename,seotitle,…….就可以调用

 

让织梦模中的dede:likearticle标签相关文章相关度更高MAXWO8.COM

dede:likearticle是我们在使用织梦建站的时候常用到的调用相关文章时常用的标调,这个标签在网站的seo功能上也起着不小的作用,

那么如何让织梦模中的dede:likearticle标签相关度更高呢?

MAXWO的修改办法是这样的:

找到文件:\include\taglib\likearticle.lib.php

找到foreach($keywords as $k)
{
if($n > 3) break;

这个3就是取前三个关键字相关!

那么改为10或者更多又是一个什么样的效果呢?

当然我在修改的时候并没有把他改大而是改小了

foreach($keywords as $k)
{
if($n ==1) break;

或者if($n >1) break;

这是在特定的环境中进行修改的,具体要看个人需求才行!

页面中tag标签调用方法-MAXWO8.COM

dedecms不同版本的tag标签调用方法,很多朋友tag标签调用不出来,就百度找方法,有些人添加后可以,有些人添加后没结果反而网站打不开,其实这个是要根据版本的不同添加的。

添加tag标签位置:主页、频道页、列表页、tag搜索列表页、文章页、网页模板随机调用tag

讲解:

一、主页、频道页、列表页、tag搜索列表页调用代码一样,直接在对应位置加入[field:id function=GetTags_list(@me)/]

很多朋友说加入后没显示,前提还要先修改dede后台的文件,分为两种情况,dede5.6版本上下两种情况。

网络上有三种方法,不过本人用的是dede5.7,有两种方法用的不成功,结果是后台打不开,需要在ftp中删除加入的文件才能解决。

文件添加位置:

dede5.7:include\helpers\archive.helper.php

dede5.6:模板中 或者是 include/common.func.php 或者是  include/inc_functions.php

二、网页模板随机调用tag(文章页tag调用包含在上面第一步里)

三、附加:其他模板的tag调用

继续阅读

DEDECMS 内容页PHP/IF判断语句

DEDECMS 内容页PHP/IF判断语句
{dede:field.audio runphp=’yes’}
if(@me<>”)@me=”如果audio字段里有东西就输出这个,支持html代码,并且可以在代码中使用@me来调用audio字段值,但是不要有双引号“;
else
@me=”如果audio字段里没有东西就输出这个,也是支持html代码,并且也是可以在代码中使用@me来调用audio字段值,也是不要有双引号“;
{/dede:field.audio}