dedecms 5.7不同栏目调用不同模板

分享时间:2018-09-11 6022 热度℃
这几天在做企业展示站,公司简介和联系我们等单页用的是同一个模板,其中联系我们页面需要加百度地图,其他页面则不需要,综合网上代码做点简单修改,目的达成。

模板里使用:
{dede:field name=typeid function=pasterTempletDiy("map_'@me'")/}
复制代码
这样以xxx_tid做模板名,xxx来区分用途,tid可以知道它属于哪个栏目的内容。

当然,还需要增加php代码,/include/extend.func.php,最后添加:
function pasterTempletDiy($path)
{
  require_once(DEDEINC."/arc.partview.class.php");
  global $cfg_basedir,$cfg_templets_dir,$cfg_df_style;
  $tmpfile = $cfg_basedir.$cfg_templets_dir.'/'.$cfg_df_style.'/'.$path.'.htm';
  if(file_exists($tmpfile)){
    $dtp = new PartView();
    $dtp->SetTemplet($tmpfile);
    return $dtp->GetResult();
  }
}
复制代码
这个代码是网上抄的,不过我加了个file_exists()判断,如果不存在则不显示。
一个模板可以用多处,只要建立好对应的模板即可。
{dede:inclue filename='xxx.htm'/}不在乎什么栏目,模板中固定调用。
本文方法是跟着栏目id的不固定调用,可以实现同一个模板在不同栏目页面显示不同内容。
本文标签:
返回顶部