帝国论坛帝国网站管理系统交流区帝国CMS使用交流[分享][原创]成功解决分页菜单平面显示 【本版专题贴子】  
 1/2     1 2 ›› ›|
主题:[分享][原创]成功解决分页菜单平面显示 [加入收藏夹]   

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[分享][原创]成功解决分页菜单平面显示
此帖应该加精
找到e/class/t_functions.php,150行左右,function sys_ShowTextPage,根据需要用以下代码替换掉官方的代码,重新生成即可看到效果
开始我也不懂怎么做平面分页

在内容模板中加了[!--title.select--]
后没有写[!--empirenews.page--]0[/!--empirenews.page--]的时候不会显示 文章标题几个字样

但是参考此资料后
http://bbs.phome.net/ShowThread/?threadid=41584&forumid=31
在改动一下相应PHP函数就搞定了
我也是刚刚研究出来的
希望不要见笑
参考一下代码
//返回下拉式内容分页导航
function sys_ShowTextPageSelect($thispagenum,$dolink,$add,$filetype,$n_r){
        if($thispagenum==1)
        {
                return '';
        }
        $titleselect='';
        for($j=1;$j<=$thispagenum;$j++)
        {
            if($j==1)
                {
                        $title=$add[title];
                        $plink=$add[filename].$filetype;
                }
                else
                {
                        $k=$j-1;
                        $ti_r=explode('[/!--empirenews.page--]',$n_r[$k]);
                    if(count($ti_r)>=2&&$ti_r[0])
                        {
                                $title=$ti_r[0];
                        }
                    else
                        {
                                $title=$add[title].'('.$j.')';
                        }
                        $plink=$add[filename].'_'.$j.$filetype;
                }
                $titleselect.='<option value="'.$dolink.$plink.'?'.$j.'">'.$title.'</option>';
        }
        $titleselect='<select name="titleselect" onchange="self.location.href=this.options[this.selectedIndex].value">'.$titleselect.'</select>';        return $titleselect;
}
要加什么 文章导航 这几个字看上面的资料就足够了 鄙视懒鬼啊

上面代码中红色部分是需要改动的也是关键
下面我就来做实验吧
老鸟们应该早就会了
但是我还是要说一下啊

第一 改写的原理是 为变量指定一个条件  也就是说加一个简单的 if 函数
比如这段代码
        $titleselect.='<option value="'.$dolink.$plink.'?'.$j.'">'.$title.'</option>';
这个是下拉框形式的一个单元
应该能看懂吧
$title 就是标题变量名
$j 就是显示ID或是递增数 简单点就是对应的标题的顺序
?这个吗是帝国设计处理数据库方面的吧 应该是为了分割上面分页的方式之一
$dolink.$plink这几个是链接变量
这个及变量都是不变的
变的主要是显示 输出的内容形式
我要把它变成其他的形式输出
为这个指定一个条件语句
比如
if ($j<=0){
$titleselect.="<a href='htt://www.itkeji.net' target='_blank'>IT科技网提供</a>";
}
else{
$titleselect.="<div>"."·<a href=\"".$dolink.$plink."?".$j."\">"."第".$j."页:".$title."</a>"."</div>";
}
$j<=0是条件 懂PHP的应看得懂不懂的人模仿就是
判断的说明是 假如$j的值小于等于0的话就显示 <a href='htt://www.itkeji.net' target='_blank'>IT科技网提供</a>
这中情况就是说没有使用标题分页

假如不是这个条件 即大于等于1 也就是说 在写内容的时候添加了 标题分页
就显示"<div>"."·<a href=\"".$dolink.$plink."?".$j."\">"."第".$j."页:".$title."</a>"."</div>"这个
其中加的HTML标签如果还看不懂的话我就无话可说了

接下来改帝国[!--title.select--]标签整个输出的内容了
为它添加个条件 也是为了在没有按标题分页的情况下不显示 文章导航 这几个字
看帝国的代码
$titleselect='<select name="titleselect" onchange="self.location.href=this.options[this.selectedIndex].value">'.$titleselect.'</select>';
这就是帝国写的整个输出代码
改成这样
if ($j<=0) {
        $titleselect="<font>".$titleselect."</font>";
}
else {
        $titleselect="<span>文章导航</span>".$titleselect;
}
具体的就不说了 工作机制和上面一样
成品代码如下
function sys_ShowTextPageSelect($thispagenum,$dolink,$add,$filetype,$n_r){
        if($thispagenum==1)
        {
                return '';
        }
        $titleselect='';
        for($j=1;$j<=$thispagenum;$j++)
        {
            if($j==1)
                {
                        $title=$add[title];
                        $plink=$add[filename].$filetype;
                }
                else
                {
                        $k=$j-1;
                        $ti_r=explode('[/!--empirenews.page--]',$n_r[$k]);
                    if(count($ti_r)>=2&&$ti_r[0])
                        {
                                $title=$ti_r[0];
                        }
                    else
                        {
                                $title=$add[title].'('.$j.')';
                        }
                        $plink=$add[filename].'_'.$j.$filetype;
                }
if ($j<=0){
$titleselect.="<a href='htt://www.itkeji.net' target='_blank'>IT科技网提供</a>";
}
else{
$titleselect.="<div>"."·<a href=\"".$dolink.$plink."?".$j."\">"."第".$j."页:".$title."</a>"."</div>";
}
        }

if ($j<=0) {
        $titleselect="<font>".$titleselect."</font>";
}
else {
        $titleselect="<span>文章导航</span>".$titleselect;
}
        return $titleselect;
}

上面红色的就是搞了的吧
接下来说说CSS
这个是说给最新的新手说的
if ($j<=0){
$titleselect.="<a href='htt://www.itkeji.net' target='_blank'>IT科技网提供</a>";
}
else{
$titleselect.="<div>"."·<a href=\"".$dolink.$plink."?".$j."\">"."第".$j."页:".$title."</a>"."</div>";
}
        }

后面的DIV标签其实你可以直接随便改
这个是我设计的思路
为了输出后方便控制 说明一点 如果你的CSS设置不好 文章导航这几个还是会出现的
if ($j<=0) {
        $titleselect="<font>".$titleselect."</font>";
}
else {
        $titleselect="<span>文章导航</span>".$titleselect;
}
        return $titleselect;
}

这个的SPAN也是为了控制的
具体的不多说了
附上我的CSS

.n_1_2_xx {
        clear: both;
        width: 569px;
        margin-top: 10px;
        margin-right: 40px;
        margin-bottom: 10px;
        margin-left: 40px;
        background-color: #FFFFFF;
}
.n_1_2_xx span {
        background-color: #FFFFFF;
        float: left;
        height: 20px;
        width: 550px;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-bottom-color: #CCCCCC;
        font-size: 15px;
        font-weight: bold;
        padding-top: 5px;
        padding-left: 19px;
        color: #335EA8;
        background-image: url(http://bbs.itkeji.net/images/default/videoact.gif);
        background-repeat: no-repeat;
        background-position: 2px center;
}
.n_1_2_xx div {
        font-size: 12px;
        text-align: left;
        float: left;
        height: 18px;
        width: 274px;
        padding-top: 6px;
        padding-left: 10px;
        background-color: #FFFFFF;
}
.n_1_2_xx font {
        background-color: #F7FAFD;
        margin: auto;
        padding: 0px;
        font-size: 14px;
        font-weight: bolder;
        font-family: Arial, Helvetica, sans-serif;
        text-align: center;
        width: 569px;
        float: left;
        clear: both;
}

下面这个放入你的内容模板中
<div class="n_1_2_xx">[!--title.select--]</div>
关于左右分其实我这个已经是左右分了
只不过我的标题太上了


大家可以直接摸索下 其实改动一下CSS就搞定了
完成啦
看附图

对了
在提醒一下啊
在写内容的时候千万不要给标题加粗或是加FONT这样的代码啊
除非你在设计CSS的时候设计好了
还有要在页面显示
分页标题的话就在把标题写一次就OK了


上传以下图片:


[该贴被修改 6 次,最后修改时间 2009-05-25 23:52:42 ]


itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-25 23:31:48 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

哈哈
我顶上了
虽然没有见过WC
但是
帝国确实很强
谢谢帝国啊

上传以下图片:


[该贴被修改 1 次,最后修改时间 2009-05-25 23:44:32 ]


itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-25 23:39:43 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

怎么没有人顶啊
太失望了啊
希望WC能把它加精啊



itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-25 23:45:19 已设置保密 顶部 回复 引用 报告 编辑 删除

xj79222770
用户头衔:秀才

精华贴   :0
发贴数   :115
经验值   :388
注册时间:2009-04-03
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

我来顶



[font=黑体]新奇乐[/font]
2009-05-25 23:47:46 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

测试页面是这个
看一下就知道了啊
http://www.itkeji.net/umpc/news/2009-05-23/12.html



itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-25 23:49:09 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

在补充点
如果你实在不会设计CSS的话
没有关系
在设计条件的时候不用考虑那么多
在写内容的时候再加这个
[!--title.select--]让它运行HTML代码就是
哈哈哈
顶吧

[该贴被修改 2 次,最后修改时间 2009-05-25 23:57:52 ]


itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-25 23:55:01 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

第几页
中的数字也可以改
这个就不用我说了
自己去研究一下PHP吧



itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-25 23:58:48 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

晕死
没得人关注还



itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-27 16:39:14 已设置保密 顶部 回复 引用 报告 编辑 删除

zangbob
用户头衔:举人

精华贴   :0
发贴数   :351
经验值   :1452
注册时间:2006-12-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

楼主,您太伟大了......

正在发愁这个呢........感谢分享....




2009-05-29 15:50:01 已设置保密 顶部 回复 引用 报告 编辑 删除

xiaoai520ni
用户头衔:举人

精华贴   :0
发贴数   :318
经验值   :957
注册时间:2009-03-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

呵呵
谢谢啊
拿去学习吧



itkejiIT科技网
itkejiIT科技论坛
OG域名空间
IT俱乐部
IT经销商
2009-05-29 21:00:03 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/2     1 2 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1