/admin/article.php
,2. 找到以下代码:,“php,$smarty>assign('image', $article_images[0]['img_url']);,
`,3. 将其替换为:,
`php,if(!empty($article_images)) {, $smarty>assign('image', $article_images[0]['img_url']);,} else {, $smarty>assign('image', '');,},
“,4. 保存文件并刷新页面,即可看到效果。,,这样修改后,当文章有图片时,会自动选择第一张图片作为缩略图展示;如果没有图片,则不显示缩略图。ECShop教程:文章分类或ID自动取内容第一张图做为缩略图展示
在ECShop中,为了增强用户体验和页面美观性,我们经常需要将文章内容的第一张图片作为该文章的缩略图显示,本文将指导您如何在ECShop中实现这一功能。
准备工作
1、确保您的ECShop已经安装并可以正常运行。
2、拥有基本的PHP、HTML和CSS知识。
3、准备好待处理的文章,确保文章中包含至少一张图片。
步骤一:定位文件
我们需要修改ECShop中的相关文件以实现自动获取第一张图片作为缩略图的功能,文章列表的模板文件位于:
根目录/themes/您当前的主题名称/library/article_list.lbi
请根据您的实际情况找到对应的文件并进行编辑。
步骤二:修改代码
打开article_list.lbi
文件后,查找到以下类似的代码片段,它负责输出文章列表:
<!{loop $articleList $aid $ac}> <li> <a href="<!{$ac['url']}>" title="<!{$ac['short_title']}>"> <!{if $ac['thumb']}> <img src="<!{imageurl($ac['thumb'], 'small')}>" alt="<!{$ac['short_title']}>" /> <!{else}> <img src="<!{ImageUrl()}>images/nopicture.png" alt="" /> <!{/if}> </a> </li> <!{/loop}>
我们需要修改的是<img>
标签部分,使其能自动获取文章内的第一张图片,修改后的代码如下:
<!{loop $articleList $aid $ac}> <li> <a href="<!{$ac['url']}>" title="<!{$ac['short_title']}>"> <!{if $ac['thumb']}> <img src="<!{imageurl($ac['thumb'], 'small')}>" alt="<!{$ac['short_title']}>" /> <!{else}> <!{get_first_image($aid)}> <!{/if}> </a> </li> <!{/loop}>
其中<!{get_first_image($aid)}>
是我们新增的部分,用于调用自定义函数获取第一张图片。
步骤三:创建自定义函数
现在我们需要创建一个自定义函数get_first_image
来获取文章的第一张图片,这个函数应该添加到ECShop的核心函数库中,找到以下文件:
根目录/includes/lib_insert.php
并在文件末尾添加如下代码:
function get_first_image($aid) { $sql = "SELECTcontent
FROMecs_article
WHEREarticle_id
='$aid'"; $res = $GLOBALS['db']>getRow($sql); $content = $res['content']; preg_match('/<img[^>]*src=[\'"](.+?)[\'"]/i', $content, $matches); if (!empty($matches)) { $img_url = $matches[1]; $thumb_url = gd_resize($img_url, 'small', '', TRUE); // 使用ECShop的图片处理函数调整大小为缩略图尺寸 return $thumb_url; } else { return ''; // 如果没有匹配到图片,则返回空字符串 } }
这段代码定义了一个函数,它通过SQL查询获取指定文章的内容,然后使用正则表达式从内容中提取第一张图片的URL,最后调用ECShop的内置图片处理函数gd_resize
将其缩小到缩略图尺寸。
步骤四:更新缓存
完成上述修改后,您需要更新ECShop的缓存,使更改生效,您可以登录后台,找到缓存管理进行更新,或者手动删除缓存文件夹中的内容。
步骤五:测试结果
保存所有更改后,刷新您的文章列表页面,查看是否每篇文章都能正确显示第一张图片作为缩略图,如果遇到问题,检查代码是否有误,以及图片路径是否正确。
相关问题与解答
Q1: 如果文章中没有图片怎么办?
A1: 在我们的代码中,如果文章中没有图片,将显示默认的占位图片(nopicture.png”),您可以根据需要更改这部分逻辑。
Q2: 如何保证缩略图的质量?
A2: 在gd_resize
函数中,您可以调整参数以控制缩略图的质量,原始图片的质量也会影响最终效果,确保上传到文章中的图片具有足够的分辨率和清晰度。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/964113.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复