SAE版给首页添加分页功能

By at • 1943次点击
沉默小子g

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

接着再打开/templates/default/ios_home.php,在46行(空行)处粘贴下面代码 if(count($articledb) == $options['home_shownum']){

echo '<div class="pagination">';
echo '<a href="/page/2" class="float-right">下一页 »</a>';
echo '<div class="c"></div>
</div>';
}

然后你访问论坛就应该可以在首页下面看到“下一页”链接了,不过你会发现点击下一页后显示的页面头像无法显示,这是才是SAE版和VPS版的区别 你需要把刚才上传的/templates/default/ios_indexpage.php文件打开,把21行的 <img src="/avatar/mini/',$article['uavatar'],'.png" alt="',$article['author'],'" /> 替换成 <img src="',$options['base_avatar_url'],'/',$article['uavatar'],'.jpg!mini" alt="',$article['author'],'" /> 再打开/templates/default/indexpage.php,把21-23行的 echo '<img src="/avatar/normal/',$article['uavatar'],'.png" alt="',$article['author'],'" />'; }else{

echo '&lt;img src=&quot;/static/grey.gif&quot; data-original=&quot;/avatar/normal/',$article['uavatar'],'.png&quot; alt=&quot;',$article['author'],'&quot; /&gt;';

替换成 echo '<img src="',$options['base_avatar_url'],'/',$article['uavatar'],'.jpg!normal" alt="',$article['author'],'" />'; }else{

echo '&lt;img src=&quot;/static/grey.gif&quot; data-original=&quot;',$options['base_avatar_url'],'/',$article['uavatar'],'.jpg!normal&quot; alt=&quot;',$article['author']

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


SAE, 首页, 分页, 添加, 功能


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

沉默小子g at 2013-04-08 12:18
1

好吧,我找到了,在根目录下的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); 只要给这里添加就好了

沉默小子g at 2013-04-08 13:37
2

@沉默小子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);
jat001 at 2013-04-08 13:40
3

我发现即使输入的文字和图片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 at 2013-04-08 16:35
4

@沉默小子g css img display:block

ego008 at 2013-04-08 17:57
5

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

沉默小子g at 2013-04-08 18:15
6

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

沉默小子g at 2013-04-08 18:15
7

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

ego008 at 2013-04-08 18:24
8

同行测试:在chrome 上修改css

沉默小子g at 2013-04-08 18:25
9

肿么不显示图片?

沉默小子g at 2013-04-08 18:26
10

%20%20%3Ca%20href= 同行测试

沉默小子g at 2013-04-08 18:26
11

依旧不在同一行 你看看

沉默小子g at 2013-04-08 18:27
12

.topic-content img .commont-content img

ego008 at 2013-04-08 18:27
13

沉默小子g at 2013-04-08 18:27
14

而且,多个图片时会匹配出错

沉默小子g at 2013-04-08 18:28
15

.commont-content img的本来就是display:block

沉默小子g at 2013-04-08 18:31
16

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

沉默小子g at 2013-04-08 18:37
17

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

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

ego008 at 2013-04-08 18:37
18

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

ego008 at 2013-04-08 18:38
19

@ego008 连续发多个图片链接,之间用多个空格连接甚至用中文连接,都会有问题

沉默小子g at 2013-04-08 18:40
20

14楼应该是全角空格问题

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

ego008 at 2013-04-08 19:41
21

沉默小子g at 2013-04-08 20:03
22

沉默小子g at 2013-04-08 20:04
23

沉默小子g at 2013-04-08 20:04
24

@ego008 无论是全角还是半角,都一样

沉默小子g at 2013-04-08 20:05
25

本地测试正常

ego008 at 2013-04-08 20:56
26

@ego008 问一个关于php函数的问题吧 我想在论坛添加几个简单的表情功能,思路是在set_content函数里使用preg_replace函数替换特定字符为图片,代码如下(我用的是at+表情名,而且禁止注册用户里有表情名,且这个处理函数是在at用户的前面以确保$text里面的at字符在匹配用户前都变成了图片链接) $expression =array("/@呲牙/","/@鄙视/","/@折磨/");

$reexpression =array(&quot;呲牙&quot;,&quot;鄙视&quot;,&quot;折磨&quot;);
ksort($expression);
ksort($reexpression);
$text=preg_replace($expression,'&lt;img src=&quot;'.$options['base_url'].'/static/expression/'.$reexpression.'.gif&quot; /&gt; ',$text);

以上代码在实际测试时替换成的图片url都是/static/expression/Array.gif 但是当我不用数组,只用字符串时却可以正常显示图片,能否帮忙看看是那块儿的问题,感激不尽

沉默小子g at 2013-04-08 22:22
27

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

沉默小子g at 2013-04-08 22:23
28

@沉默小子g 提供一个参考函数,另开帖方便搜索 https://www.youbbs.org/t/957

ego008 at 2013-04-09 08:38
29
登录 后发表评论