ZblogPHP主题配置制作入门(二)

拼装(单文本、多行文本框和按钮)

今天我利用别人的include.php、mian.php文件在DEMO环境中做了一些调整和修改,发现原来实现主题配置制作起来真的很简单。

我将别人的include.php文件直接拷贝过来,

<?php
//注册插件
RegisterPlugin('BAndW','ActivePlugin_BAndW');
 
function ActivePlugin_BAndW()
{
    Add_Filter_Plugin('Filter_Plugin_Admin_TopMenu', 'BAndW_AddMenu');
}
 
function BAndW_AddMenu(&$menus)
{
    global $zbp;
    $menus[] = MakeTopMenu('root', 'BAndW主题配置', $zbp->host . 'zb_users/theme/BAndW/main.php', '', 'topmenu_BAndW');
}
 
function InstallPlugin_BAndW(){
    global $zbp;
    }
 
function UninstallPlugin_BAndW(){
    global $zbp;
    }

在里面,我仅替换了一个字符,就是把别人的XXX主题替换成我的“BAndW”主题了。这个运行看来基本正常。也就是说,include.php程序没有太多需要我们修改的,只是对接的一个必要手段。重点还在main.php那个文件中。昨天,我们展示了Gravatar头像插件中include.php,其中,在load阶段,有一系列的数值调用,通过这些调用加上一些表单因素,我们就可以简单的制作出一个单文本内容配置框了:

<?php
require '../../../zb_system/function/c_system_base.php';
require '../../../zb_system/function/c_system_admin.php';
 
$zbp->Load();
$action='root';
if (!$zbp->CheckRights($action)) {$zbp->ShowError(6);die();}
if (!$zbp->CheckPlugin('BAndW')) {$zbp->ShowError(48);die();}
$blogtitle="BAndW主题配置";
 
if(isset($_POST['weibonet'])){
	global $zbp;
	$zbp->Config('BAndW')->weibonet = $_POST['weibonet'];
	$zbp->SaveConfig('BAndW');
  	$zbp->ShowHint('good');
}
 
require $blogpath . 'zb_system/admin/admin_header.php';
require $blogpath . 'zb_system/admin/admin_top.php';
?>
 
<div id="divMain">
  <div class="divHeader2"><?php echo $blogtitle;?></div>
  <div class="SubMenu"></div>
  <div id="divMain2">
    <form id="form-postdata" name="form-postdata" method="post" enctype="multipart/form-data" action="main.php">
      <table width="100%" border="1" width="100%" class="tableBorder">
      <tr>
        <th scope="col" height="32" width="150px">配置项</th>
        <th scope="col">配置内容</th>
        <th scope="col" width="500px">使用说明</th>
      </tr>
      <tr>
        <td scope="row">底部微博链接</td>
        <td><input name="weibonet" type="text" value="<?php echo $zbp->Config('BAndW')->weibonet; ?>"></input></td>
        <td>底部微博超链接地址,http://开头</td>
      </tr>
   </table>
        <br/>
        <input class="button" type="submit" value="保存设置" />
    </form>
  </div>
</div>
<?php
require $blogpath . 'zb_system/admin/admin_footer.php';

在加载时,我们定义了一个叫“weibonet”的值。然后,做了一个简单的table加上一些文本域,把文本域里填入的值赋予了相应变量。这样,保存后,我们在相应zblogPHP模板上配置{$zbp->Config(‘BAndW’)->weibonet;},保存后就可以改变对应的值了。明白了这个,我们就很容易做出多行文本框和按钮来,就像:

//按钮:
<input name="XXXXXX" type="text" class="checkbox" style="display:none;" value="<?php echo $zbp->Config('主题')->XXXXXX; ?>"></input>
//多行文本框:
<textarea name="XXXXXX" type="text"><?php echo $zbp->Config('主题')->XXXXXX; ?></textarea>

会了这个以后,就够我忙活一阵子的了。加上IF逻辑判断,我们可以轻松的使用按钮开关来进行逻辑判断,也可以将一些写死的代码做成灵活的变量了。就像这样:

{if $zbp->Config('主题')->判断按钮 == ""}
{$MeGetList = GetList($zbp->Config('主题')->某个值);}
{else}
{$MeGetList = "";}
{/if}

很容易吧。有了这几个选项,我们就可以从“主题设置插件”里面挣脱出来了。下面就是一些多媒体和替代之类的工作要做。