我是代码菜鸟,只能对照修改。
我这里有一个想法是,想在用户个人空间首页,配合后台设置的用户栏目功能,由用户自定义首页日志显示条数与预览字数。
如:在用户栏目中增加“日志条数”,栏目字段名为field_1(用户可以设置页的个人资料中填入一个要显示条数的数字),那么,我应该如何在/source/space_index.php文件中的相关位置作相应修改:
原代码为:
//日志
$bloglist = array();
if($space['blognum'] && ckprivacy('blog')) {
$query = $_SGLOBAL['db']->query("SELECT b.uid, b.blogid, b.subject, b.dateline, b.pic, b.picflag, b.viewnum, b.replynum, b.friend, b.password, bf.message, bf.target_ids
FROM ".tname('blog')." b
LEFT JOIN ".tname('blogfield')." bf ON bf.blogid=b.blogid
WHERE b.uid='$space[uid]'
ORDER BY b.dateline DESC LIMIT 0,5");
while ($value = $_SGLOBAL['db']->fetch_array($query)) {
if(ckfriend($value['uid'], $value['friend'], $value['target_ids'])) {
if($value['pic']) $value['pic'] = pic_cover_get($value['pic'], $value['picflag']);
$value['message'] = $value['friend']==4?'':getstr($value['message'], 150, 0, 0, 0, 0, -1);
$bloglist[] = $value;
}
}
$blognum = count($bloglist);
}
其中,红字为默认的日志显示条数,蓝字为默认的日志预览字数。
我将日志显示条数处,配合用户栏目的设置改成:
ORDER BY b.dateline DESC LIMIT 0,<!--{if $space['field_1']}-->$space['field_1']<!--{else}-->5<!--{/if}-->");
在更新缓存后,页面显示为空白。说明这样的判断是错误的。那么,我该如何修改才会有效呢?
帮帮忙,谢谢啊…… |