针对Discuz友情链接字数显示不全的问题,请按以下步骤排查处理:
一、核心修改方案
1. 数据库字段扩容(最根本方案)
使用phpMyAdmin执行SQL语句:
- ALTER TABLE `pre_common_friendlink`
- MODIFY COLUMN `sitename` varchar(100) NOT NULL DEFAULT '';
复制代码
(注意:pre_需替换为实际表前缀)
2. 模板层改造
找到模板文件:
template/当前模板目录/forum/block_friendlink.htm
查找类似代码:
- <!--{loop $flink $flink}-->
- <li><a href="{$flink[url]}" target="_blank" title="{$flink[description]}">{$flink[sitename]}</a></li>
- <!--{/loop}-->
复制代码
增加标题完整显示:
- title="{$flink[sitename]}" //增加title属性
复制代码
并移除可能存在的字符截取函数(如cutstr/substr)
二、辅助排查步骤
1. 后台设置检查
进入【界面】→【友情链接】
检查「显示设置」中的「站点名称最大长度」数值(建议设置为30)
2. 编码验证
检查数据库表字符集是否为utf8mb4:
- SHOW CREATE TABLE pre_common_friendlink;
复制代码
三、高级适配方案
在source/module/forum/forum_friendlink.php中:
查找:
- $flink['sitename'] = dhtmlspecialchars($flink['sitename']);
复制代码
下方新增:
- $flink['sitename'] = str_replace(array('"',"'"),'',strip_tags($flink['sitename'])); //安全过滤
复制代码
四、应急处理技巧
临时在名称后补空格:
中国志愿服务联合会 (用全角空格延长显示)
修改后务必:
1. 后台更新CSS缓存
2. 强制刷新浏览器缓存(Ctrl+F5)
3. 检查移动端模板是否存在独立限制
若仍不生效,请提供:
1. 当前使用的模板名称
2. 友情链接模块的调用代码
3. 后台友情链接设置全屏截图
我将为您进一步诊断具体限制环节。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |