首先,我们需要在 crmeb/services/CopyProductService.php
文件中进行相应的操作,以确保商品详情能够正确显示。这个问题的根源在于采集接口返回的详情数据带有 CSS 样式的 HTML 页面,而图片以背景的形式呈现,导致富文本无法加载。
解决方案的关键在于将详情数据中的图片进行适当的处理和转换,以便能够在富文本编辑器中正确加载和显示。我们需要添加一个名为 formatDescriptionImages
的方法,用于格式化详情数据中的图片,并在 getInfo()
方法中调用这个新添加的方法。
1. 问题分析与背景:
当使用 99 采集接口获取商品详情数据时,问题出现在返回的详情数据中。这些数据包含了带有 CSS 样式的 HTML 页面,而图片则是以背景的形式存在,导致富文本无法正常加载。
2. 解决方案设计:
为了解决这个问题,我们需要将图片的显示方式转换成适合在富文本编辑器中显示的形式,同时确保图片路径的正确性。为此,我们将在 CopyProductService.php 文件中进行相应的修改。
3. 格式化详情数据方法添加:
我们需要在 crmeb/services/CopyProductService.php文件中添加一个名为 formatDescriptionImages 的方法,用于将详情数据中的图片进行处理和转换。该方法的实现如下:
/**
* 格式化详情数据
* @param array $description_images 详情图片
* @return string
*/
public static function formatDescriptionImages(array $description_images)
{
$content = '';
foreach ($description_images as $image) {
if (strstr($image, 'http') === false) {
$image = 'http:' . $image;
}
$content .= '<p><img src="' . $image . '"></p>';
}
return $content;
}
4. 在 getInfo() 方法中调用:
在crmeb/services/CopyProductService.php文件getInfo()方法里调用,如下图
代码
if (!empty($result['description_images'])) {
$result['description'] = self::formatDescriptionImages($result['description_images']);
}
5. 优化用户体验:
通过执行以上步骤,我们能够优化用户体验,确保商品详情以正确的方式展示。用户将能够在富文本编辑器中正确地查看带有 CSS 样式的 HTML 页面,以及图片以适当的方式加载和显示
这段代码会对详情数据中的图片进行处理,确保图片路径的正确性,并将图片用合适的 HTML 标签插入到详情内容中。
通过以上步骤,我们可以解决多商户 99 采集商品详情异常的问题,让带有 CSS 样式的 HTML 页面中的图片能够正确加载和显示在富文本编辑器中。这将提升用户体验,确保商品详情能够以正确的方式展示。如果您在实施过程中遇到问题,可以随时在论坛上寻求帮助或咨询技术支持人员。
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}