首页 >

织梦DedeCMS后台文章管理中增加批量添加tag标签功能

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

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

织梦DedeCMS后台文章管理中增加批量添加tag标签功能织梦DedeCMS后台文章管理中增加批量添加tag标签功能

根据这个自动关键词 | 批量增加属性 | 批量删除属性这个思路来进行批量tag标签操作。

修改后的具体效果如下:

织梦DedeCMS后台文章管理中增加批量添加tag标签功能

具体实现步骤:三步

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

  1.  删除属性 
在他后边添加:
  1. 修改tags标签

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

  1. /*批量修改文档*/
  2. function EditArcs(jname,e,obj){
  3. var qstr=getCheckboxItem();
  4. if(qstr==”)
  5. {
  6. alert(‘必需选择一个或多个文档!’);
  7. return;
  8. }
  9. LoadQuickDiv(e, ‘archives_do.php?dopost=batchEditArchives&qstr=’+qstr+’&dojob=’+jname+’&rnd=’+Math.random(), ‘tagsEditDlg’, ‘450px’, ‘160px’);
  10. ChangeFullDiv(‘show’);
  11. }

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

  1. <?php
  2. //AJAX窗体结束
  3. }
  4. ?>

替换成:

  1. <?php
  2. //AJAX 窗体结束
  3. }
  4. /*
  5. * ——————————————–
  6. * function batchEditArchives(){}
  7. * 批量修改文档
  8. * ——————————————–
  9. * */
  10. else if ($dopost == ‘batchEditArchives’)
  11. {
  12. if( !empty($aid) && empty($qstr) )
  13. {
  14. $qstr = $aid;
  15. }
  16. $dojobname = ‘修改TAG标签’;
  17. AjaxHead();
  18. //输出AJAX可移动窗体
  19. $divname = ‘tagsEditDlg’;
  20. echo “

    \r\n”;

  21. echo ”

    {$dojobname}

    \r\n”;
  22. echo ”

    织梦DedeCMS后台文章管理中增加批量添加tag标签功能

    \r\n”;
  23. echo “

    \r\n”;
  24. echo “\r\n”;
  25. echo “\r\n”;
  26. echo “\r\n”;
  27. echo “\r\n”;
  28. ?>
  29.  标 签:
  30. (‘,’号分隔,单个标签小于12字节)
  31.  文档ID:
  32. <input type='text' name='tmpids' value="” style=’width:310px;overflow:hidden;’ />
  33.   
  34. <img src="images/button_back.jpg" width="60" height="22" border="0" onclick='HideObj("”);ChangeFullDiv(“hide”);’ style=”cursor:pointer” />
  35. <?php
  36. //AJAX 窗体结束
  37. }
  38. //修改标签结束
  39. /*
  40. * ——————————
  41. * 修改标签详细操作
  42. * function tagsEdit(){}
  43. * ——————————
  44. *
  45. * */
  46. elseif ($dopost == ‘tagsEdit’){
  47. //CheckPurview(‘a_Commend,sys_ArcBatch’);
  48. if( !empty($aid) && empty($qstr) )
  49. {
  50. $qstr = $aid;
  51. }
  52. if($qstr==”)
  53. {
  54. ShowMsg(“参数无效!”, $ENV_GOBACK_URL);
  55. exit();
  56. }
  57. if(empty($tags))
  58. {
  59. ShowMsg(“必需输入tags标签!”, $ENV_GOBACK_URL);
  60. exit();
  61. }
  62. $tags = str_replace(‘,’, ‘,’, $tags);
  63. $tagss = explode(‘,’,$tags);
  64. if(empty($tagss)){
  65. ShowMsg(“必需输入tags标签!”, $ENV_GOBACK_URL);
  66. exit();
  67. }
  68. $arcids = ereg_replace(‘[^0-9,]’,”,ereg_replace(‘`’, ‘,’, $qstr));
  69. $arcids_arr = explode(‘,’, $arcids);
  70. if (empty($arcids_arr)) {
  71. ShowMsg(“参数无效!”, $ENV_GOBACK_URL);
  72. exit();
  73. }
  74. foreach($arcids_arr as $id){
  75. /*
  76. * 处理修改后的Tag
  77. */
  78. $oldtag = GetTags($id);
  79. $oldtags = explode(‘,’,$oldtag);
  80. foreach($tagss as $tag)
  81. {
  82. $tag = trim($tag);
  83. if(isset($tag[255]) || $tag!=stripslashes($tag))
  84. {
  85. continue;
  86. }
  87. if(!in_array($tag,$oldtags))
  88. {
  89. InsertOneTag($tag,$id);
  90. }
  91. }
  92. foreach($oldtags as $tag)
  93. {
  94. if(!in_array($tag,$tagss))
  95. {
  96. $dsql->ExecuteNoneQuery(“Delete From `js_taglist` where aid=’$id’ And tag like ‘$tag’ “);
  97. $dsql->ExecuteNoneQuery(“Update `js_tagindex` set total=total-1 where tag like ‘$tag’ “);
  98. }
  99. else
  100. {
  101. $dsql->ExecuteNoneQuery(“Update `js_taglist` set `arcrank` = ‘$arcrank’, `typeid` = ‘$typeid’ where tag like ‘$tag’ “);
  102. }
  103. }
  104. }
  105. ShowMsg(“成功修改选中文档的tags标签!”, $ENV_GOBACK_URL);
  106. exit();
  107. }



织梦DedeCMS后台文章管理中增加批量添加tag标签功能
  • 织梦DedeCMS编码GBK使用ajax提交自定义表单后出现中文乱码搞定方式
  • 织梦DedeCMS编码GBK使用ajax提交自定义表单后出现中文乱码搞定方式 | 织梦DedeCMS编码GBK使用ajax提交自定义表单后出现中文乱码搞定方式 ...

    织梦DedeCMS后台文章管理中增加批量添加tag标签功能
  • 有关织梦DedeCMS静态模板类织梦DedeCMS:foreach的使用
  • 有关织梦DedeCMS静态模板类织梦DedeCMS:foreach的使用 | 有关织梦DedeCMS静态模板类织梦DedeCMS:foreach的使用 ...

    织梦DedeCMS后台文章管理中增加批量添加tag标签功能
  • 织梦DedeCMS5.7修改tag标签字数
  • 织梦DedeCMS5.7修改tag标签字数 | 织梦DedeCMS5.7修改tag标签字数 ...