在织梦CMS(DedeCMS)中,发布未审核文章时自动将时间改为当前最新时间的功能可以通过修改系统文件和模板文件来实现,以下是详细的步骤和方法:
方法一:修改系统文件
1、找到并编辑archives_do.php文件:
打开DedeCMS的安装目录,找到dede
文件夹。
在该文件夹中找到archives_do.php
文件,并使用文本编辑器打开它。
在文件中找到大约第252行的位置,将以下代码:
$maintable = ( trim($row['maintable'])=='' ? '#@__archives' : trim($row['maintable']) ); $dsql>ExecuteNoneQuery("UPDATE#@__arctiny
SET arcrank='0' WHERE id='$aid' "); if($row['issystem']==1) { $dsql>ExecuteNoneQuery("UPDATE".trim($row['addtable'])."
SET arcrank='0' WHERE aid='$aid' "); } else { $dsql>ExecuteNoneQuery("UPDATE$maintable
SET arcrank='0', dutyadmin='".$cuserLogin>getUserID()."' WHERE id='$aid' "); } $dsql>ExecuteNoneQuery("UPDATE#@__taglist
SET arcrank='0' WHERE aid='$aid' "); $pageurl = MakeArt($aid,false);
替换为以下代码:
$maintable = ( trim($row['maintable'])=='' ? '#@__archives' : trim($row['maintable']) ); $newdate = time(); $dsql>ExecuteNoneQuery("UPDATE#@__arctiny
SET sortrank='$newdate',senddate='$newdate',arcrank='0' WHERE id='$aid' "); if($row['issystem']==1) { $dsql>ExecuteNoneQuery("UPDATE".trim($row['addtable'])."
SET pubdate='$newdate',sortrank='$newdate',senddate='$newdate',arcrank='0' WHERE aid='$aid' "); } else { $dsql>ExecuteNoneQuery("UPDATE$maintable
SET pubdate='$newdate',sortrank='$newdate',senddate='$newdate',arcrank='0', dutyadmin='".$cuserLogin>getUserID()."' WHERE id='$aid' "); } $dsql>ExecuteNoneQuery("UPDATE#@__taglist
SET arcrank='0' WHERE aid='$aid' "); $pageurl = MakeArt($aid,false);
这样,在更新文章时,系统会自动将发布时间、排序时间和发送时间设置为当前时间。
2、修改arc.listview.class.php文件(可选):
打开include/arc.listview.class.php
文件。
查找以下代码(会查找到两个,两个都要改):
if(preg_match('/index/i', $listitem)) $plist .= $indexpage; if(preg_match('/pre/i', $listitem)) $plist .= $prepage; if(pr...
将其替换为:
if(preg_match('/index/i', $listitem)) $plist .= $indexpage; if(preg_match('/pre/i', $listitem)) $plist .= $prepage; if(preg_match('/last/i', $listitem)) $plist .= $lastpage; if(preg_match('/next/i', $listitem)) $plist .= $nextpage;
这一步是为了确保列表页能够正确显示分页信息。
方法二:修改模板文件
1、找到并编辑article_edit.htm文件:
打开dede/templets/article_edit.htm
文件。
找到以下代码:
$nowtime = GetDateTimeMk($arcRow["pubdate"]); echo "<input name="pubdate" value="$nowtime" type="text" id="pubdate" style="width:200">";
并将其替换为:
if($arcRow["arcrank"]!=1){ $nowtime = GetDateTimeMk($arcRow["pubdate"]); echo "<input name="pubdate" value="$nowtime" type="text" id="pubdate" style="width:200">"; }else{ $nowtime =date('Ymd H:i:s'); echo "<input name="pubdate" value="$nowtime" type="text" id="pubdate" style="width:200">"; };
这样,在编辑未审核的文章时,发布时间框里将自动显示当前系统时间。
2、增加当前时间按钮(可选):
在上述代码后面增加一个按钮,用于点击后更新时间为当前时间,代码如下:
<input TYPE="button" value="当前时间" OnClick="document.form1.pubdate.value='<?php echo $showtime=date("Ymd H:i:s");?>'" style="border:1px solid #ddd;background:#fff;" />
这种方法提供了更多的灵活性,允许用户在需要时手动更新时间。
FAQs
问题1:如何在DedeCMS中设置文章发布后自动生成HTML?
答:在DedeCMS中,要设置文章发布后自动生成HTML,可以按照以下步骤操作:
1、进入DedeCMS后台管理界面。
2、在左侧菜单栏中,依次点击“系统” > “系统基本参数”。
3、在打开的页面中,切换到“性能选项”标签页。
4、在“发布文章后直接生成HTML”选项中,选择“是”。
5、保存设置即可,这样,在发布文章时,DedeCMS会自动生成对应的HTML文件。
问题2:如何批量将未审核稿件改为已审核状态?
答:要批量将未审核稿件改为已审核状态,可以通过执行SQL语句来实现,具体操作如下:
1、登录到数据库管理工具(如phpMyAdmin或命令行)。
2、选择DedeCMS使用的数据库。
3、执行以下SQL语句:
UPDATE dede_archive SET arcrank='0'; UPDATE dede_arctiny SET arcrank='0';
这两条语句分别更新了dede_archive
表和dede_arctiny
表中的arcrank
字段为0,表示文章已审核,在执行这些操作之前,请确保已经备份好数据库,以防万一出现问题可以恢复数据。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1219150.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复