- 问题:如何在帝国CMS后台批量修改字段值替换字段中的内容?
- 答案:使用SQL语句批量替换字段内容。
update [!db.pre!]ecms_news set titleurl=replace(titleurl, 'http://img.moban5.cn', 'http://127.0.0.1'); update [!db.pre!]ecms_news set titlepic=replace(titlepic, 'http://img.moban5.cn', 'http://127.0.0.1'); update [!db.pre!]ecms_news set username=REPLACE(username, 'admin', '发布者') WHERE id BETWEEN 1 AND 100; update [!db.pre!]ecms_news set userid=REPLACE(userid, '1', '55'), username=REPLACE(username, 'admin', '改变'), ismember=REPLACE(ismember, '0', '1') WHERE id BETWEEN 1 AND 100;
在后台的执行SQL语句中执行上述语句,批量替换字段内容。

OLDER ARTICLES
- 添加代码:
- 在会员字段的头像字段内添加以下代码:
<img src='<?= $ecmsfirstpost == 1 ? "/images/1.jpg" : ehtmlspecialchars(stripSlashes($addr['userpic'])) ?>' id='img' width="180" height="180"/> <a href="javascript:void(0)" onclick="ChangeFace()">换一张</a> <input name="userpic" type="text" id="userpic" value='<?= $ecmsfirstpost == 1 ? "" : ehtmlspecialchars(stripSlashes($addr['userpic'])) ?>' size="" style="display:none"> <script src="https://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> function ChangeFace() { var x = 10; var y = 1; var rand = parseInt(Math.random() * (x - y + 1) + y); var face = '/images/' + rand + '.jpg'; $("#img").attr('src', face); $("input[name='userpic']").attr('value', face); } </script>
- 在会员字段的头像字段内添加以下代码:
- 备份数据库:确保数据安全。
- 执行SQL语句:
- 主表情况:
UPDATE [!db.pre!]ecms_news SET titlepic = CONCAT(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext, 'src=', -1), '.gif', 1), '"', ''), '.gif') WHERE newstext LIKE '%.gif%' AND titlepic = ''; UPDATE [!db.pre!]ecms_news SET titlepic = CONCAT(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext, 'src=', -1), '.jpg', 1), '"', ''), '.jpg') WHERE newstext LIKE '%.jpg%' AND titlepic = ''; UPDATE [!db.pre!]ecms_news SET titlepic = CONCAT(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(newstext, 'src=', -1), '.png', 1), '"', ''), '.png') WHERE newstext LIKE '%.png%' AND titlepic = '';
- 副表情况:
UPDATE [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b SET b.titlepic = CONCAT(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext, 'src=', -1), '.gif', 1), '"', ''), '.gif') WHERE a.newstext LIKE '%.gif%' AND b.titlepic = '' AND a.id = b.id; UPDATE [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b SET b.titlepic = CONCAT(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext, 'src=', -1), '.jpg', 1), '"', ''), '.jpg') WHERE a.newstext LIKE '%.jpg%' AND b.titlepic = '' AND a.id = b.id; UPDATE [!db.pre!]ecms_news_data_1 a, [!db.pre!]ecms_news b SET b.titlepic = CONCAT(REPLACE(SUBSTRING_INDEX(SUBSTRING_INDEX(a.newstext, 'src=', -1), '.png', 1), '"', ''), '.png') WHERE a.newstext LIKE '%.png%' AND b.titlepic = '' AND a.id = b.id;
- 主表情况:
- 检查表单提交:
- 确认提交地址、POST 数据和表单字段正确。
- 在表单中添加隐藏字段
bid
:<input name="bid" type="hidden" value="分类ID" />
- 执行SQL语句删除不带标题图片的信息:
delete from [表前缀]_ecms_news where titlepic = ''; delete from [表前缀]_ecms_news_index where id not in (select id from [表前缀]_ecms_news); delete from [表前缀]_ecms_news_data_1 where id not in (select id from [表前缀]_ecms_news);
- 在后台“系统 – 数据备份与恢复 – 执行SQL语句”中执行。
- 执行前务必备份数据,以防数据丢失。
-
修改系统参数设置
- 进入“系统参数设置 – 基本属性 – 网站地址”,设置为
/
。 - 不要填写具体的域名,以避免信息地址变成绝对地址。
- 进入“系统参数设置 – 基本属性 – 网站地址”,设置为
-
更新信息页地址
- 进入“系统 – 数据更新 – 更新信息页地址”,选择相应的数据表,点击“
- 外部视频:调用外部网站视频(如优酷、爱奇艺等)时,请确保选择iframe格式的嵌入代码。
- 本地视频:上传本地视频时,请确保视频格式为MP4,并使用HTML5播放器播放。应用中心有免费的HTML5视频播放器插件可供使用。
启用步骤
- 后台设置:zblog后台 -> 应用中心 -> 设置 -> 启用开发者模式。
作用
- 打包应用:将制作好的应用打包成
.zba
格式。 - 编辑应用信息:编辑修改主题或插件的应用信息。
- 置顶设置位置:
- 进入zblog后台,新建或编辑文章,在右侧找到置顶功能区域。
- 置顶效果:
- 文章选择置顶后,会显示在文章列表的最顶部,不受发布时间限制。
- 置顶类型:
- 首页置顶:仅在首页置顶显示。
- 全局置顶:在首页和列表页均置顶显示。
- 分类置顶:仅在列表页置顶显示。
-
原因:
- 主机权限不足,导致程序无法创建
c_option.php
文件。
- 主机权限不足,导致程序无法创建
-
解决办法:
- 手动创建文件:
- 在本地创建
c_option.php
文件,复制代码并上传到根目录/zb_users/
文件夹。
- 在本地创建
- 设置主机权限:
- 将主机权限设置为
777
,具体方法因主机环境不同而异,建议搜索对应环境的权限设置教程。
- 将主机权限设置为
- 手动创建文件:
