dedecms内容页设置多个不同的模板(亲测有效)

功能描述:有网友提问,如何在内容页设置3、4个不同的模板,根据需要显示不同页面!

解决方法:

1、织梦后台 → “内容模型管理” → 选择要选择模板的内容类型 → 选择“字段管理” → 点击“添加新字段”;

2、在“字段名称”中输入需要的名称,在下面的“数据类型”选择“使用option下拉框类型”,“默认值”字段填写自己的名称就可以,比如:default1,default2,default3;

3、搜索/data/common.inc.php文件,在下面新增以下代码:

$cfg_temp = array(
  'default1' => 'article_article.htm',
  'default2' => 'article_article2.htm',
  'default3' => 'article_article3.htm'
);

4、搜索/include/arc.archives.class.php 文件,在下面新增以下代码:

global $dsql,$ftp,$cfg_temp; //原代码只有global $dsql,$ftp,大概在第57行

在第136行,搜索$this->addTableRow = $this->dsql->GetOne($query);,在下面新增以下代码:

if(isset($this->addTableRow['maketemp']) && !empty($this->addTableRow['maketemp'])){
    $MonztempArr = explode('/', $this -> TypeLink -> TypeInfos['temparticle']);
    $this -> TypeLink -> TypeInfos['temparticle'] = $MonztempArr[0].'/'.$cfg_temp[$this->addTableRow['maketemp']];
}

这样就可以了,现在你可以在你的文章页面看到一个新的选择框,选择你需要的模版!

注意事项:如果你的网站没有数据可以不用管下面的,如果有数据请注意,所有文章默认的栏目是第一个'default1' => 'article_article.htm',改成你自己的模板,不然重新生成的数据和原来的布局就不一样了!

拓展资料:

//直接进入数据库,批量替换数据,小编的数据库字段名是“templename”
UPDATE dede_addonarticle
SET templename = 'default2'
WHERE typeid IN (1,2,5,6,7);