zenglcms v1.2.0可以设置栏目类型,例如"关于我们"这种单页形式的栏目类型,还有外链栏目类型等等,可以为不同的栏目类型设置特定的模板,以及特定的行为。 栏目...
............................................ //省略N行代码 if(!isset($rvar_tpl_action) || $rvar_tpl_action == '') $rvar_tpl_action = 'default'; $list_tpl_class_pre = 'list_articles_'; //关于我们栏目的模板处理程式文件名前缀 $list_tpl_aboutus_class_pre = 'aboutus_'; //模板处理程式文件名后缀 $list_tpl_class_suffix = '_class.php'; $section = new section(false,false); $section->sql = $section->permis->sql = &$this->sql; if($this->all == null) { $section->getall(); $this->all =&$section->all; } //section栏目表中新增的type字段存放的就是栏目类型标识符 switch($this->all[$rvar_sec_ID]['type']) { //aboutus为关于我们的栏目类型标识符 case 'aboutus': //tpl_action可以为指定栏目类型定义多种行为和输出方式 switch($rvar_tpl_action) { //default默认tpl_action对应的处理方式 case 'default': $sql = &$this->sql; //从数据库中将关于我们栏目中的第一篇文章读取出来作为关于我们的单页内容 $sql->query("select * from {$sql->tables_prefix}articles where sec_ID={$rvar_sec_ID} ". "limit 0,1"); $sql->parse_results(); $rvar_articleID = $sql->row['articleID']; if($sql->row === false) die('you have no aboutus article!'); $i_am_in_list = true; //include来加载aboutus关于我们的模板处理程式文件,此处为aboutus_default_class.php include $list_tpl_aboutus_class_pre . $rvar_tpl_action . $list_tpl_class_suffix; break; default: die('unknown tpl_action in list_articles_class.php when type is aboutus'); } break; ............................................ //省略N行代码 |
............................................ //省略N行代码 else { $filetpl = $zengl_cms_tpl_dir . $zengl_theme .'/aboutus.tpl'; $filecache = $zengl_cms_tpl_dir . 'cache/aboutus_cache.php'; } if(!file_exists($filetpl)) die('tpl file '.$filetpl.' does not exist!'); if(file_exists($filecache) &&( filemtime($filecache) > filemtime($filetpl) ) && (filemtime($filecache) > filemtime($zengl_cms_tpl_dir . 'filetpl')) ) include $filecache; else { $tpl = new tpl($filetpl, $filecache); $tpl->template_parse(); $tpl->cache(); include $filecache; } ............................................ //省略N行代码 |