沉默小子g avatar

SAE版给首页添加分页功能

🕔 by 沉默小子g

@ego008 一直不把SAE版升级到1.04,导致首页没有分页,用起来比较蛋疼,今天看了一下1.04的代码,发现要要移植到SAE版上还是比较简单的。我说一下方法吧 1.04在.htaccess里添加了一句 RewriteRule ^page/([0-9]+)$ indexpage.php?page=$1 [L] 所以我们得修改网站根目录的config.yaml文件,添加一行

  • rewrite: if( path ~ "^page/([0-9]+)$" ) goto "indexpage.php?page=$1" 然后把https://github.com/cmxz/youbbs/blob/master/indexpage.php 里面的代码复制粘贴成php文件【注意要保存成utf-8编码】,然后上传到网站根目录。 再把https://github.com/cmxz/youbbs/blob/master/templates/default/indexpage.php 和https://github.com/cmxz/youbbs/blob/master/templates/default/ios_indexpage.php 这两个保存成php文件上传到论坛/templates/default/目录下(这两个文件待会儿还要改一些内容) 然后打开/templates/default/home.php文件,在第49行(是一个空行)处粘贴下面代码 if(count($articledb) == $options['home_shownum']){ echo ''; echo '下一页 »'; echo '

接着再打开/templates/default/ios_home.php,在46行(空行)处粘贴下面代码 if(count($articledb) == $options['home_shownum']){ echo ''; echo '下一页 »'; echo ' '; } 然后你访问论坛就应该可以在首页下面看到“下一页”链接了,不过你会发现点击下一页后显示的页面头像无法显示,这是才是SAE版和VPS版的区别 你需要把刚才上传的/templates/default/ios_indexpage.php文件打开,把21行的 替换成 再打开/templates/default/indexpage.php,把21-23行的 echo ''; }else{ echo ''; 替换成 echo ''; }else{ echo '<img src="/static/grey.gif" data-original="',$options['base_avatar_url'],'/',$article['uavatar'],'.jpg!normal" alt="',$article['author']

至此,你就给youbbs1.0.3添加上了分页功能`(∩_∩)′

💘 相关文章

评论

共29条关于"SAE版给首页添加分页功能"的评论

沉默小子g avatar
#1 沉默小子g 回复

另外,@ego008 求教那个文件是判断用户浏览器的?

沉默小子g avatar
#2 沉默小子g 回复

好吧,我找到了,在根目录下的common.php文件里有一句 $is_mobie = preg_match('/(iPod|iPhone|Android|SymbianOS|Windows Phone OS|iOS|WAP|ucweb|Opera Mini|BlackBerry|webOS|UCWEB|Blazer|PSP)/i', $user_agent); 只要给这里添加就好了

jat001 avatar
#3 jat001 回复

@沉默小子g common.php $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']); if($user_agent){ $is_spider = preg_match('/(bot|crawl|spider|slurp|sohu-search|lycos|robozilla|google)/i', $user_agent); $is_mobie = preg_match('/(iPod|iPhone|Android|Opera Mini|BlackBerry|webOS|UCWEB|Blazer|PSP)/i', $user_agent);

沉默小子g avatar
#4 沉默小子g 回复

我发现即使输入的文字和图片url在一行(之间没有换行),但显示出来后图片和文字之间总是有换行的。我看了common.php文件里的set_content函数是格式化内容的,其中 $text = preg_replace($img_re, '<img src="'.$options['base_url'].'/static/grey2.gif" data-original="\1" alt="" />', $text); 函数是用来替换图片的 而且使用了lazy load插件来延迟加载图片,但我还是不知道该修改什么才能使得图文之间不自动换行,只有当用户输入回车后才换行@ego008

沉默小子g avatar
#6 沉默小子g 回复

@ego008 你是说修改/static/default/style.css文件,把img { border: none; }修改吗? 我改为img { display:block } 依旧不行,见下图

沉默小子g avatar
#7 沉默小子g 回复

另外,我对css一窍不通,希望你能说明白一点儿,谢谢了

ego008 avatar
#8 ego008 回复

同行 同行测试:在chrome 上修改css

ego008 avatar
#13 ego008 回复

.topic-content img .commont-content img

沉默小子g avatar
#17 沉默小子g 回复

@ego008 把那个改成display:inline 可以显示到同一行了,不过对多个图片的匹配依旧有问题

ego008 avatar
#18 ego008 回复

默认是display:block 删除这个属性。

刚才发现一个问题,chrome 自动给img 标签添加一个display:block 的style

ego008 avatar
#19 ego008 回复

多个相同的图片是有问题,我看看正则能不能修好这个bug

沉默小子g avatar
#20 沉默小子g 回复

@ego008 连续发多个图片链接,之间用多个空格连接甚至用中文连接,都会有问题http://ww4.sinaimg.cn/large/a74ecc4cjw1e3ie5egis8j.jpg

ego008 avatar
#21 ego008 回复

14楼应该是全角空格问题

英文有空格分隔,中文没有。

沉默小子g avatar
#27 沉默小子g 回复

@ego008 问一个关于php函数的问题吧 我想在论坛添加几个简单的表情功能,思路是在set_content函数里使用preg_replace函数替换特定字符为图片,代码如下(我用的是at+表情名,而且禁止注册用户里有表情名,且这个处理函数是在at用户的前面以确保$text里面的at字符在匹配用户前都变成了图片链接) $expression =array("/@呲牙/","/@鄙视/","/@折磨/"); $reexpression =array("呲牙","鄙视","折磨"); ksort($expression); ksort($reexpression); $text=preg_replace($expression,'<img src="'.$options['base_url'].'/static/expression/'.$reexpression.'.gif" /> ',$text); 以上代码在实际测试时替换成的图片url都是/static/expression/Array.gif 但是当我不用数组,只用字符串时却可以正常显示图片,能否帮忙看看是那块儿的问题,感激不尽

沉默小子g avatar
#28 沉默小子g 回复

即当我添加 $expression ="/ @呲牙 /"; $reexpression ="呲牙"; $text=preg_replace($expression,'<img src="'.$options['base_url'].'/static/expression/'.$reexpression.'.gif" /> ',$text); 时输入at呲牙,可以正常显示图片,哪怕连续输入多个表情也可以,但一改成数组,就出问题了

写一条评论

Based on Golang + fastHTTP + sdb | go1.17.1 Processed in 1ms