如何批量设置帝国CMS正文的第一张图片为缩略图
帝国CMS批量设置正文第一张图片为缩略图的方法如下:首先,登录后台,进入“系统”-“系统参数设置”-“核心设置”,将“是否允许使用HTML编辑器”设置为“是”。然后,在文章编辑页面,点击“HTML代码”按钮,插入以下代码:`[!--news.url--]`。最后,保存并更新文章即可。这样,所有文章的第一张图片都会被设置为缩略图。需要注意的是,这种方法只适用于已经上传了图片的文章。如果文章还没有上传图片,需要先上传一张图片才能生效。
执行以下脚本的时候请 先备份数据库!文本存放的新闻正文字段不可用!
新闻正文字段作为主表的情况用以下语句:
updatephome_ecms_newssettitlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,'src=',-1),'.gif',1),'"',''),'.gif')wherenewstextlike'%.gif%'andtitlepic='';updatephome_ecms_newssettitlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,'src=',-1),'.jpg',1),'"',''),'.gif')wherenewstextlike'%.jpg%'andtitlepic='';updatephome_ecms_newssettitlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext,'src=',-1),'.png',1),'"',''),'.png')wherenewstextlike'%.png%'andtitlepic='';
新闻正文字段作为副表的情况用以下语句:
update[!db.pre!]ecms_news_data_1a,[!db.pre!]ecms_newsbsetb.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,'src=',-1),'.gif',1),'"',''),'.gif')wherea.newstextlike'%.gif%'andb.titlepic=''anda.id=b.id;update[!db.pre!]ecms_news_data_1a,[!db.pre!]ecms_newsbsetb.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,'src=',-1),'.jpg',1),'"',''),'.jpg')wherea.newstextlike'%.jpg%'andb.titlepic=''anda.id=b.id;update[!db.pre!]ecms_news_data_1a,[!db.pre!]ecms_newsbsetb.titlepic=concat(replace(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext,'src=',-1),'.png',1),'"',''),'.png')wherea.newstextlike'%.png%'andb.titlepic=''anda.id=b.id;