问题:项目中用到了文章管理 所以用的T****F5.0 里面自带了文章管理模块
但是接口写完以后发现 库里存的图片路径是相对的 导致页面图片没法显示(第一反应是要在插入那里做修改 改成绝对路径存进库里)
处理步骤:1.先找到了插件的配置文件 框架用的是ueditor 配置文件config.json里的imageUrlPrefix
"imageUrlPrefix": "", /* 图片访问路径前缀 */
2.改成线上域名之后 虽然有缺点(域名是死的 更换域名需要修改一遍配置) 但是本地是可以正常跑的 提交到线上却没有效果
3.找了很久 发现是tp的修改器的原因 在数据插入的时候 model层setPostContentAttr方法里 用tp函数去替换了内容的值
public function getPostContentAttr($value) { return cmf_replace_content_file_url(htmlspecialchars_decode($value)); }
文档中函数的解释
cmf_replace_content_file_url 替换编辑器文件地址
cmf_replace_content_file_url($content, $isForDbSave = false)
功能
替换编辑器内容中的文件地址
参数
$content: string 编辑器内容
$isForDbSave: boolean true:表示把绝对地址换成相对地址,用于数据库保存,false:表示把相对地址换成绝对地址用于界面显示
返回
string 替换过的编辑器内容
但由于本地域名和线上域名不一致 而插件的配置里加了线上域名的原因 所以导致本地的这个函数并没有起到效果 而线上域名与配置一直 所以直接去掉了
4.所以这里直接把这个修改器注释掉就可以把图片的绝对路径存到库里 但是由于上面提到的配置写死的问题 为了灵活 这里还是不做修改
在接口的model里 加一个获取器 和上面的修改器正好相反 是取出数据的时候做修改 路径直接为线上服务器的绝对路径