Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 插件开发中的 插件页面导航是怎样实现的??

[复制链接]
风清扬丶 发表于 2013-5-24 17:30:17 | 显示全部楼层 |阅读模式
例如:



php中让数组实现输出
while($row=mysql_fetch_array($query))//循环函数,根据返回的值生成数组,并在下面循环引用
  {
?>

<table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
  <tr bgcolor="#eff3ff">
  <td>标题:<?=$row[title]?> 用户:<?=$row[user]?></td>
  </tr>
  <tr bgColor="#ffffff">
  <td>内容:<?
echo htmtocode($row[content]);//输出替换函数
   ?></td>
  </tr>
</table>
<?
  }//php与html混合排版
?>
在discuz 插件模版代码和PHP代码分离的情况下是如何实现的??

求指点一二

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1314学习网 发表于 2013-5-24 17:52:14 | 显示全部楼层
这种问题自己去下个类似插件研究就是了
回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-24 17:57:07 | 显示全部楼层
1314学习网 发表于 2013-5-24 17:52
这种问题自己去下个类似插件研究就是了

好的 受教了  
回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-24 18:38:37 | 显示全部楼层
1314学习网 发表于 2013-5-24 17:52
这种问题自己去下个类似插件研究就是了

请问那个,打开插件页什么也没有,白屏是什么原因呢? 是模版文件还是PHP文件的问题呢
回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-24 18:44:00 | 显示全部楼层
1314学习网 发表于 2013-5-24 17:52
这种问题自己去下个类似插件研究就是了

虽然通过不断的屏蔽代码解决了  但是就是不明白为什么
回复

使用道具 举报

arasi 发表于 2013-5-24 19:35:13 | 显示全部楼层
风清扬丶 发表于 2013-5-24 18:38
请问那个,打开插件页什么也没有,白屏是什么原因呢? 是模版文件还是PHP文件的问题呢

代码有错 就会出现白屏
回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-24 21:53:27 | 显示全部楼层
1314学习网 发表于 2013-5-24 17:52
这种问题自己去下个类似插件研究就是了

辛辛苦苦写完了个插件 然后打开直接白屏了{:soso_e115:} 麻烦您辛苦下 帮我看看呗

问题如图


代码如下:

inc.php:

<?php

if(!defined('IN_DISCUZ')){
        exit('Access Denied');
}        

if(empty($_G['uid']))
{
        showmessage('抱歉,为了保障网站的良好运行 和会员的权益,请注册后再使用本功能,为您带来的不便深表歉意','member.php?mod=register');
}

if($_POST['submit'])
{
   $query=DB::query("INSERT INTO ".DB::table('challenge')."(id,uid,username,title,content,lasttime)
        VALUES ('','$_G[uid]','$_G[username]',".intval($_POST[title]).",".intval($_POST[content]).",now())");
        showmessage('发表成功',NULL);
}

$query1=DB::query("SELECT * FROM ".DB::table('challenge')." order by id desc  ");
$row=DB::fetch($query1);//循环函数,根据返回的值生成数组,并在下面循环引用

/*function htmtocode($content)
{
        $content = str_replace("\n", "<br>", str_replace(" ", " ", $content));
        return $content;
}
*/

$num = DB::result_first("SELECT COUNT(*) FROM ".DB::table('challenge')." WHERE uid='$_G[uid]'");//mysql_result为取得结果数据
$page = $_G['page'] > 10 ? 1 : $_G['page'];
$start_limit = ($page - 1) * 10;
$multipage = multi($num, 10, $page, "plugin.php?id=challenge&mod={$_GET[mod]}");



include template('challenge:challenge');

?>  

模版HTM:

{subtemplate common/header}

<link type="text/css" rel="stylesheet" href="source/plugin/down_love/template/extend_common.css" />

<div id="ct" class="wp cl"><!--定义页面导航       -->
  <div class="mn">
    <div class="bm">
      <ul class="tb cl">
        <li<!--{if empty($_GET[mod])}--> class="current"<!--{/if}-->><a href="plugin.php?id=challenge"></a></li>
        <li<!--{if $_GET[mod] == 'ask_challenge'}--> class="current"<!--{/if}-->><a href="plugin.php?id=challenge&mod=first_challenge"></a></li>
        <li<!--{if $_GET[mod] == 'add_challenge'}--> class="current"<!--{/if}-->><a href="plugin.php?id=moodwall&mod=add_challenge"></a></li>
      </ul>

<!--{if empty($_GET[mod])}-->
<div class="content" style="background:url(source/plugin/moodwall/template/images/wall.gif);">
<div id="contentarea">
  <!--{loop $row $challenge}-->
        <table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
                <tr bgcolor="#eff3ff">
                <td>战书:$challenge[title] 挑战者:$challenge[username]</td>
                </tr>
                <tr bgColor="#ffffff">
                <td>内容:$challenge[content]</td>
                </tr>
        </table>
  <!--{/loop}-->   
  <!--{if !empty($multipage)}-->
  <table>
                <tr>
                        <td>$multipage</td>
                </tr>
  <!--{/if}-->
  <!--{else}-->
  <tr>
    <td colspan="5" align="center">{lang moodwall:moodwall_htm_44}</td>
  </tr>
  </table>

<!--{elseif $_GET[mod] == 'add_challenge'}-->

<SCRIPT language=javascript>
function CheckPost()
{
        if (myform.user.value=="")
        {
                alert("请填写用户名");
                myform.user.focus();
                return false;
        }
        if (myform.title.value.length<5)
        {
                alert("标题不能少于5个字符");
                myform.title.focus();
                return false;
        }
        if (myform.content.value=="")
        
                alert("必须要填写留言内容");
                myform.content.focus();
                return false;
        }
}
</SCRIPT>
<form action="plugin.php?id=challenge:challenge" method="post" name="myform">
  挑战者:<input type="text" size="10" name="user" /><br>
  战书:<input type="text" name="title" /><br/>
  内容:<textarea name="content"  cols="60" rows="9"></textarea><br/>

  <input type="submit" name="submit" value="下战书"/>
</form>

<!--{elseif $_GET[mod] == 'first_challenge'}-->



<!--{/if}-->
<!--{/if}-->
</div>
<!--{/if}-->

{subtemplate common/footer}





回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-24 21:58:52 | 显示全部楼层
arasi 发表于 2013-5-24 19:35
代码有错 就会出现白屏

怎样排查代码哪段错误呢?   能提供个思路吗
回复

使用道具 举报

arasi 发表于 2013-5-24 22:21:33 | 显示全部楼层
风清扬丶 发表于 2013-5-24 21:58
怎样排查代码哪段错误呢?   能提供个思路吗

呵呵 discuz就是这个很不好 只能一个个往前试 一个个注释地调...不知道有没有别的办法
回复

使用道具 举报

 楼主| 风清扬丶 发表于 2013-5-24 22:40:11 | 显示全部楼层
呵呵 是啊  经过一番痛苦的调试 终于可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-22 16:45 , Processed in 0.118239 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表