如果建立Xoops區塊都會在newblocks資料表中寫入一筆設定資料,其中的bid數值就是區塊的編號,包含複製區塊也會產生編號,
雖然佈景樣板中是有<{$block.id}>變數可以取得區塊的bid值,但在模組區塊中卻無法使用<{$block.id}>變數,上網查了Xoops結構說明手冊發現都要用class的方法來撈數值,實在太麻煩了,所以自己寫了一個取得bid的函數,分享給大家,方法如下:
1、在模組blocks資料架的區塊檔案函數最上方引入neillibrary模組的function.php
include_once XOOPS_ROOT_PATH . "/modules/neillibrary/function.php";
貼上以下function
//區塊取得bid
function bidnamefunction($op="",$bid=""){
//取得newblocks資料表最新一筆編號
$dbneme="newblocks"; //資料表名稱
$where=" order by bid DESC"; //where數值
$newblocksList=moduledb($dbneme,$where);
//最新編號+1
$newbid=$newblocksList['bid']+1;
//判斷複製還是編輯
$bid=$op==edit ? $bid : $newbid; // get TRUE
return $bid;
}
2、在編輯區塊函數裡面增加以下設定(block_edit)
//取得變數
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";
$bid=isset($_REQUEST['bid'])?$_REQUEST['bid']:"";
$bid=bidnamefunction($op=$op,$bid=$bid);
加上儲存options設定
<input type='hidden' name='options[0]' value='".$bid."'>
3、在區塊顯示函數中增加以下設定(block_show)
//輸出BID
$block['bid']=$options[0];
4,這樣在區塊樣板中就能使用<{$block.bid}>變數了,這樣例如像是js的區塊綁定id遇到複製區塊時,<{$block.bid}>變數會自動取得複製區塊的id編號,所以即使同個區塊複製多個js也能正常使用!!
教學撰寫:徐嘉裕 Neil hsu
雖然佈景樣板中是有<{$block.id}>變數可以取得區塊的bid值,但在模組區塊中卻無法使用<{$block.id}>變數,上網查了Xoops結構說明手冊發現都要用class的方法來撈數值,實在太麻煩了,所以自己寫了一個取得bid的函數,分享給大家,方法如下:
1、在模組blocks資料架的區塊檔案函數最上方引入neillibrary模組的function.php
include_once XOOPS_ROOT_PATH . "/modules/neillibrary/function.php";
貼上以下function
//區塊取得bid
function bidnamefunction($op="",$bid=""){
//取得newblocks資料表最新一筆編號
$dbneme="newblocks"; //資料表名稱
$where=" order by bid DESC"; //where數值
$newblocksList=moduledb($dbneme,$where);
//最新編號+1
$newbid=$newblocksList['bid']+1;
//判斷複製還是編輯
$bid=$op==edit ? $bid : $newbid; // get TRUE
return $bid;
}
2、在編輯區塊函數裡面增加以下設定(block_edit)
//取得變數
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";
$bid=isset($_REQUEST['bid'])?$_REQUEST['bid']:"";
$bid=bidnamefunction($op=$op,$bid=$bid);
加上儲存options設定
<input type='hidden' name='options[0]' value='".$bid."'>
3、在區塊顯示函數中增加以下設定(block_show)
//輸出BID
$block['bid']=$options[0];
4,這樣在區塊樣板中就能使用<{$block.bid}>變數了,這樣例如像是js的區塊綁定id遇到複製區塊時,<{$block.bid}>變數會自動取得複製區塊的id編號,所以即使同個區塊複製多個js也能正常使用!!
教學撰寫:徐嘉裕 Neil hsu
留言
張貼留言