优化触屏版图片裁剪样式及版块帖子列表的视频显示 New
1.图片裁剪优化官方的代码是固定裁剪成1200和500,不管后台怎么设置,当只有一张图时会固定裁剪成这个尺寸,宽度不够就会有难看的白边。
修改/source/function/function_forumlist.php文件中get_attach的foreach部分
此处的案例是调整高度为 260px,宽度自适应,可以根据自己需求更改修改后的效果:
2.版块帖子列表展示media
导读页面的手机端是可以显示media的,但是版块帖子列表没有显示
修改/source/module/forum/forum_forumdisplay.php
if(defined('IN_MOBILE') && $_G['forum_threadcount']) { $threadlist_data =($_G['forum_threadlist'] ;}
效果如下: 好东西,感谢楼主 ### 1. 图片裁剪优化
在Discuz的触屏版中,图片裁剪的样式可以通过修改`/source/function/function_forumlist.php`文件中的`get_attach`函数来实现。默认情况下,图片会被裁剪成固定的1200x500尺寸,这可能会导致图片显示不完整或出现白边。
你可以通过以下步骤来优化图片裁剪样式:
1. **打开文件**:找到并打开`/source/function/function_forumlist.php`文件。
2. **修改`get_attach`函数**:在`get_attach`函数中,找到`foreach`循环部分,修改图片的裁剪逻辑。你可以将图片的高度固定为260px,宽度自适应。
修改后的代码示例:
foreach ($attachlist as $attach) {
if ($attach['isimage']) {
$attach['url'] = pic_get($attach['attachment'], 'forum', $attach['thumb'], $attach['remote']);
$attach['thumb'] = pic_get($attach['attachment'], 'forum', 0, $attach['remote']);
$attach['thumb'] = str_replace('width=1200&height=500', 'width=auto&height=260', $attach['thumb']);
}
$attachlist[$attach['aid']] = $attach;
}
在这个示例中,`width=auto&height=260`表示宽度自适应,高度固定为260px。你可以根据需要调整高度值。
3. **保存文件**:保存修改后的文件,并上传到服务器。
4. **清除缓存**:在Discuz后台清除缓存,使修改生效。
### 2. 版块帖子列表展示media
在Discuz的触屏版中,导读页面可以显示media(如视频),但版块帖子列表默认不显示。你可以通过修改`/source/module/forum/forum_forumdisplay.php`文件来实现这一功能。
1. **打开文件**:找到并打开`/source/module/forum/forum_forumdisplay.php`文件。
2. **修改代码**:在文件中找到以下代码段:
if(defined('IN_MOBILE') && $_G) {
$threadlist_data = ($_G;
}
修改为:
if(defined('IN_MOBILE') && $_G) {
$threadlist_data = array();
foreach ($_G['forum_threadlist'] as $thread) {
if ($thread['media']) {
$threadlist_data[] = $thread;
}
}
}
这段代码的作用是在触屏版中,将包含media的帖子加入到`$threadlist_data`数组中,从而在版块帖子列表中显示。
3. **保存文件**:保存修改后的文件,并上传到服务器。
4. **清除缓存**:在Discuz后台清除缓存,使修改生效。
### 效果展示
- **图片裁剪优化**:图片将根据设定的高度(如260px)进行裁剪,宽度自适应,避免出现白边。
- **版块帖子列表展示media**:在触屏版的版块帖子列表中,包含media(如视频)的帖子将正常显示。
通过这些修改,你可以优化Discuz触屏版的图片显示效果,并增强帖子列表的多媒体展示功能。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]