分类 帝国CMS 下的文章

帝国CMS网站后台登录后提示:您还未登录

有一个网站是用帝国CMS搭建的,运行了几年,今天登录后台异常,登录不进去,提示:您还未登录。

用admin账号以及编辑账号登录都是同样提示。

第一反应:被hack了?难道用户表里内容被删了?立马打开数据库,查看用户表,发现账号都在。心里放心了一些。

第二反应:服务器自动升级导致缓存文件夹读写权限被改了?服务器会不会自动升级,我还不知道,但前两天阿里云挂掉了一些服务,有可能是他们恢复导致的。网站账号登录时,一般会把日志写入缓存文件里,如果缓存文件或所在文件夹没有写入权限,就无法正常登录。马上打开服务器,检查对应文件夹读写权限,没什么改变!

第三反应:服务器没空间了。打开服务器探针页面一看,果然,存储空间0KB。这样缓存文件能写也写不进去了。

此时,有2种解决方法:
1,到阿里云去扩容数据盘,要钱,备选。
2,把服务器里不要的文件删除掉。于是我去删除了存放很久的数据库和附件备份文件、去删除了不需要的log服务器日志文件,去删除了一些不要的mysql日志文件,乖乖,腾出来20G空间。

问题解决!

阅读剩余部分

帝国CMS 7.2栏目自定义字段值的非空判断

给栏目新增自定义字段之后,我们可以通过ReturnClassAddField函数标签调出来。

有时候需要实现这个效果:当该自定义字段有值时,显示一种内容;当该自定义字段为空时,显示另外一种内容(通常就不显示,代码留空),需要的判断代码如下:

<?php if($value=ReturnClassAddField($GLOBALS[navclassid],'videourl') == '') : //当自定义字段为空时?>
<p>栏目扩展字段videourl没有值 %>_<%</p>
<?php else : //当自定义字段不为空时?>
<p><p>栏目扩展字段videourl有值 *^__^*</p></p>
<?php endif;?>

阅读剩余部分

帝国CMS模板页面用PHP获取任意层级栏目的ID

在帝国cms中,如果栏目层级比较深,而且又要在栏目里面获取上级栏目或者下级栏目的一些数据时,获取到该栏目ID,上级栏目,上上级栏目...直到顶级栏目ID就很关键了。

一,在模板页面,通过PHP先获取当前栏目的ID:

<?php
    $a=$GLOBALS[navclassid];
?>

阅读剩余部分

帝国CMS自定义页面模板用PHP获取页面ID、页面名称、标题、关键词、描述、内容等变量

我最近算是尝到了灵动标签的好处,特别是灵动标签里面嵌入SQL语句,几乎是可以实现从任何表里取任何数据,完全不依赖帝国CMS的模板标签。
为了让灵动标签更加灵动,我们一般还采取在模板里通过PHP来获取当前页面或栏目的一些变量,然后再传给灵动标签。
举个例子:
1,我想该自定义页面读取与该自定义页面关键词相关的内容,那么首先需要用PHP获取到当前自定义页面的网页标题,然后再把这个变量传给灵动标签。
2,我想把自定义页面的网页关键词设为一组栏目ID,然后传给灵动标签,获取指定一组栏目的相关数据。

阅读剩余部分