1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 织梦php开发tags功能开发 DedeCms织梦二次开发批量添加tag标签 批量修改TAG标签功能的方法...

织梦php开发tags功能开发 DedeCms织梦二次开发批量添加tag标签 批量修改TAG标签功能的方法...

时间:2020-10-11 02:18:10

相关推荐

织梦php开发tags功能开发 DedeCms织梦二次开发批量添加tag标签 批量修改TAG标签功能的方法...

需求背景: 之前发布了不少文章,后来发现之前的这些文章当时发布时都没有添加tag标签,然而现在需要都添加上tag标签,然而这个在默认的织梦后台是没办法批量实现的,只能一篇篇文章去修改。

思考: 织梦原本的文章批量管理中有这么几项,看图:

根据这个自动关键词、批量增加属性、批量删除属性这个思路来进行批量tag标签操作。 为已发布的产品或者文章添加tag,有时候会让你无可奈何。因为dedecms的后台并没有这个功能,我们要的就是将这样的功能添加到dedecms的后台里。这篇文章将手把手教你如何增加批量添加tag的功能。

修改后的具体效果如下:

整个操作共需要修改三个文件 都在后台目录下(默认为/dede/)分别是:

1、打开dede/templets/content_list.htm,找到:

删除属性

在这后边添加:

修改tags标签

2、打开dede/js/list.js,在文件最后边添加:

/*批量修改文档*/

function EditArcs(jname,e,obj){

var qstr=getCheckboxItem();

if(qstr=='')

{

alert('必需选择一个或多个文档!');

return;

}

LoadQuickDiv(e, 'archives_do.php?dopost=batchEditArchives&qstr='+qstr+'&dojob='+jname+'&rnd='+Math.random(), 'tagsEditDlg', '450px', '160px');

ChangeFullDiv('show');

}

3.打开dede/archives_do.php,这个文件的最后四行是:

//AJAX窗体结束

}

?>

替换成下面的内容:

//AJAX 窗体结束

}

/*

* --------------------------------------------

* function batchEditArchives(){}

* 批量修改文档

* --------------------------------------------

* */

else if ($dopost == 'batchEditArchives')

{

if( !empty($aid) && empty($qstr) )

{

$qstr = $aid;

}

$dojobname = '修改TAG标签';

AjaxHead();

//输出AJAX可移动窗体

$divname = 'tagsEditDlg';

echo "

\r\n";

echo "

{$dojobname}\r\n";

echo "

\r\n";

echo "

\r\n";

echo "

\r\n";

echo "\r\n";

echo "\r\n";

echo "

?>

标 签:

(','号分隔,单个标签小于12字节)

文档ID:

//AJAX 窗体结束

}

//修改标签结束

/*

* ------------------------------

* 修改标签详细操作

* function tagsEdit(){}

* ------------------------------

*

* */

elseif ($dopost == 'tagsEdit'){

//CheckPurview('a_Commend,sys_ArcBatch');

if( !empty($aid) && empty($qstr) )

{

$qstr = $aid;

}

if($qstr=='')

{

ShowMsg("参数无效!", $ENV_GOBACK_URL);

exit();

}

if(empty($tags))

{

ShowMsg("必需输入tags标签!", $ENV_GOBACK_URL);

exit();

}

$tags = str_replace(',', ',', $tags);

$tagss = explode(',',$tags);

if(empty($tagss)){

ShowMsg("必需输入tags标签!", $ENV_GOBACK_URL);

exit();

}

$arcids = ereg_replace('[^0-9,]','',ereg_replace('`', ',', $qstr));

$arcids_arr = explode(',', $arcids);

if (empty($arcids_arr)) {

ShowMsg("参数无效!", $ENV_GOBACK_URL);

exit();

}

foreach($arcids_arr as $id){

/*

* 处理修改后的Tag

*/

$oldtag = GetTags($id);

$oldtags = explode(',',$oldtag);

foreach($tagss as $tag)

{

$tag = trim($tag);

if(isset($tag[255]) || $tag!=stripslashes($tag))

{

continue;

}

if(!in_array($tag,$oldtags))

{

InsertOneTag($tag,$id);

}

}

foreach($oldtags as $tag)

{

if(!in_array($tag,$tagss))

{

$dsql->ExecuteNoneQuery("Delete From `js_taglist` where aid='$id' And tag like '$tag' ");

$dsql->ExecuteNoneQuery("Update `js_tagindex` set total=total-1 where tag like '$tag' ");

}

else

{

$dsql->ExecuteNoneQuery("Update `js_taglist` set `arcrank` = '$arcrank', `typeid` = '$typeid' where tag like '$tag' ");

}

}

}

ShowMsg("成功修改选中文档的tags标签!", $ENV_GOBACK_URL);

exit();

}

批量增加TAG标签、批量修改TAG标签、批量删除TAG标签 功能到此完成。

责任编辑:MOKUGE

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。