帝国CMS,灵动标签结合PHP代码获取当前栏目classid,一个模板调用生成栏目导航

帝国CMS系统,在使用过程中,灵动标签调用栏目中,可以自定义当前栏目的class样式。链接在这里:在日常建站过程中,整理了一些帝国ECMS常用技巧集 之 灵动标签调用栏目,可定义当前栏目的class样式
实际操作过程中,直接使用bclassid=[!--bclass.id--]是无效的。不同栏目都需要调用对应的各自的子栏目导航,
这样,我们需要在页面顶部先获取父栏目的id数字才有效,代码如下:

<?php
    $a=$GLOBALS[navclassid];
    $b= $class_r[$a]['bclassid'];
?>

然后在灵动标签对应的位置加上:bclassid=$b 来实现父栏目id的调用,该方法同时适用内容模板页面。

帝国CMS调用某一栏目,指定时间内的所有信息

帝国CMS,万能标签或者灵动标签,调用某一栏目,指定时间内的所有信息。
例如调用2020年的所有信息,SQL语句如下:

select * from [!db.pre!]ecms_news where newstime>=UNIX_TIMESTAMP('2020-01-01 00:00:01') and newstime<=UNIX_TIMESTAMP('2020-12-31 23:59:59') and classid in (10) order by newstime desc limit 10

帝国CMS创建网站地图Sitemap.xml文件

在后台找到自定义页面,添加自定义页面,可直接复制下面的代码放入页面内容内即可。文件名选择存放路径:../../sitemap.xml

<?='<?xml version="1.0" encoding="UTF-8"?>'?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>[!--news.url--]</loc>
<lastmod> <?php echo date("Y-m-d"); ?></lastmod>
<changefreq>daily</changefreq>
<priority>1.000</priority>
</url>
[e:loop={"select * from [!db.pre!]enewsclass order by myorder",0,24,0}]
<?
if($bqr['classurl']=='')
{
$sccurl=$public_r['newsurl'].$bqr['classpath']."/";
}
else
{
$sccurl=$bqr['classurl']."/";
}
?>
<url>
<loc><?=$sccurl?></loc>
<changefreq>daily</changefreq>
<priority>0.8000</priority>
</url>
[/e:loop]
[e:loop={"select * from [!db.pre!]enewszt order by ztid",0,24,0}]
<?
if($bqr['zturl']=='')
{
$sccurl=$public_r['newsurl'].$bqr['ztpath']."/";
}
else
{
$sccurl=$bqr['zturl']."/";
}
?>
<url>
<loc><?=$sccurl?></loc>
<lastmod><?=date('Y-m-d',$bqr[newstime])?></lastmod>
<changefreq>monthly</changefreq>
<priority>0.6000</priority>
</url>
[/e:loop]
[e:loop={"select * from [!db.pre!]ecms_news order by newstime desc",0,24,0}]
<url>
<loc><?=$bqsr[titleurl]?></loc>
<lastmod><?=date('Y-m-d',$bqr[newstime])?></lastmod>
<changefreq>monthly</changefreq>
<priority>0.5000</priority>
</url>
[/e:loop]
</urlset>

上面设置之后就创建了地图生成页面,如果运行正常,那么在保存的时候就会自动在根目录创建sitemap.xml文件,如果没有自动创建文件请检查根目录是否有写入权限。

另外,可以设置自动刷新任务,添加新的定时刷新计划任务,来保持sitemap.xml的自动更新。