在默认的冰蓝模板中,默认是显示栏目最新的一些文章。 有时候你的栏目里文章很多,希望每次更新首页都随机显示一些文章,达到每天更新的seo追求的效果,怎么做呢?
在模板的适当位置,插入下面的php代码可以实现(写入到index.tpl.html模板源代码里):
<{php}>
$start_num = 0;
if ( $this->_tpl_vars['web']['type'][$this->_tpl_vars['single_type']['id']]['total_num'] - $this->_tpl_vars['article_num'] > 0) {
$start_num = rand(0,$this->_tpl_vars['web']['type'][$this->_tpl_vars['single_type']['id']]['total_num'] - $this->_tpl_vars['article_num']);
}
$mdb = mdbConnection();
require_once('phpTreeArray.class.php');
$typeTree = new phpTreeArray($this->_tpl_vars['web']['type']);
$child_type_ary = $typeTree->getListAryById($this->_tpl_vars['single_type']['id']);
if ( count($child_type_ary[$this->_tpl_vars['single_type']['id']]) > 1 ) {
$child_id_ary = array_keys($child_type_ary);
$child_id_ary[0] = $this->_tpl_vars['single_type']['id'];
$child_id_str = implode(',',$child_id_ary);
} else {
$child_id_str = $this->_tpl_vars['single_type']['id'];
}
$sql = "SELECT id,title,description FROM hbcms_article_base WHERE type_id IN (" . $child_id_str . ") LIMIT " . $start_num . "," . $this->_tpl_vars['article_num'] . "";
//echo '<hr>' . $sql;
$my_data = $mdb->queryAll($sql);
foreach ($my_data as $k => $v) {
$my_data[$k]['url'] = getHtmlFilename('article_detail', $my_data[$k]['id']);
}
$this->assign('my_data', $my_data);
<{/php}>
此代码将随机读取数据库里栏目的文章,每次更新网站首页内容都不同。
此代码需要有php编程基础的人才能看懂,官方只列出给大家参考,但不提供技术支持服务。
附件里是完整的模板参考文件。随机显示栏目文章的首页模板文件 下载: html 文件