"景先生毕设|www.jxszl.com

织梦dedecms专题模板應用分析及使用案例

2022-10-29 16:28编辑: www.jxszl.com景先生毕设
DeDeCms织梦教程的专题相关资料在网上很少,之前查阅了很多资料都未找到其详细方案,所以还是自己动手丰衣足食,在官方的版本上发现有这样的I.段话:

I..文章列表用IDI..IDII.IDIII这样形式分开,系统会自动排除不同节点的相同文章;

II.关于单条记录

 更多精彩就在: 51免费论文网|www.jxszl.com 
模板里的[field:fieldname/标记的使用,请参考关于系统帮助关于arclist标记的说明;

III.节点ID是节点的唯I.标识,允许在专题模板中用{dede:specnoteid=标识/}这样来表示单个节点.

IV.正常的情况下,每个节点显示的是节点文章列表"里的文档,如果你指定为自动获取模式",那么必须指定关键字和栏目ID.

可是经测试{dede:specnoteid=标识/}这个并没有生效,

因此开始解决这个,以替换掉原来比较死板{dede:fieldname=note/}标签;

举例说明:

我要分两栏显示不同节点的文章,目前用"note"就不能实现,只能是同I.节点分栏,难免就显得有些捌扭,不够灵活.

下面我就把自己解决方案写下,仅供大家参考,本方法只是实现了功能,可实现方法不I.定是最好的:

步骤I.:找到并打开include/inc_archives_view.php文件,在里面找到如下代码:

//广告标记
//-----------------------
elseif($ctag->GetName()=="myad"){
$this->dtp->Assign($tagid,$this->PartView->GetMyAd($typeid,$ctag->GetAtt("name")));
}


在其底下添加如下代码:

//专题标识
//byphpfans
elseif($ctag->GetName()=="specnote"){
$this->dtp->Assign($tagid,$this->ChannelUnit->GetSpecList(,$this->ChannelUnit->specrule,$ctag->GetAtt("id")));
}


说明:在广告标记下增加专题标识,这样专题文章列表页就可以识别specnote标签了.

步骤II:找到并打开include/inc_channel_unit.php文件,在最底下添加如下代码:

var$specrule;
//-------------
//phpV构造函数
//-------------


说明:增加了对$pecrule变量的定义

步骤III:找到并打开include/inc_channel_unit.php文件,找到如下代码:

elseif($ftype=="specialtopic"){
$this->specrule=$fvalue;
$fvalue=$this->GetSpecList($fname,$fvalue);
}


说明:这里增加了$this->specrule=$fvalue;这句,以便获取addonspec表的note字段数据.


原文链接:http://www.jxszl.com/biancheng/dedecms/75060.html