筍子工作雜記

五月 12, 2007

xoops 2.0.x 區塊複製

Filed under: xoops — shinnlu @ 8:28 下午

在 xoops 2.2.x 的區塊管理下有一個非常實用的功能,就是區塊複製,在 2.0.x 上並沒有這個功能(其實是有的,只是因為某些原因程式碼被 mark 起來),以下的步驟記錄如何打開這個封印。

一、modules/system/admin/blocksadmin/main.php
最底下有幾行程式碼被 mark 起來,把 /* 和 */ 拿掉如下

if ($op == ‘clone’) {
clone_block($bid);
}

if ($op == ‘clone_ok’) {
clone_block_ok($bid, $btitle, $bside, $bweight, $bvisible, $bcachetime, $bmodule, $options);
}並在 $bid 和$bside 中間加 “, $btitle"

二、modules/system/admin/blocksadmin/blocksadmin.php
相對應的 function 也要多一個 “, $btitle" 順序要一樣

function clone_block_ok($bid, $btitle, $bside, $bweight, $bvisible, $bcachetime, $bmodule, $options)

三、往下數14行有一個

//$clone->setVar(‘title’, $btitle);

把 mark 拿掉
四、modules/system/admin/blocksadmin/blocksadmin.php
在function list_blocks()裡面找到

if ($block_arr[$i]->getVar(‘block_type’) != ‘S’) {
在這一行前面加上一行
echo “ blocksadmin1_index.jpeg
按下"複本"功能後,出現如下畫面
blocksadmin2_clone.jpeg
—–
再來是匿名使用者的畫面,首頁
anony1_index.jpeg
分類畫面
anony2_cat.jpeg
分類裡所有文章的畫面
anony3_viewforum.jpeg
觀看文章的畫面
anony4_viewtopic.jpeg
—–
再來是管理權限使用者的畫面,原本的功能都看的到,分類畫面
admin1_cat.jpeg
分類裡所有文章的畫面
admin2_viewforum1.jpeg
觀看文章的畫面
admin3_viewtopic1.jpeg

11 則迴響 »

  1. 又長見識了。

    迴響 by ezsky — 七月 17, 2007 @ 5:48 上午

  2. 版主你好,
    想請教一下區塊的問題!

    之前我將Xoops2.0.6直接升到2.0.17
    結果原來的自訂區塊,無法正確顯示。
    (不論有無使用Html語法,光是簡單打個字都沒有顯示)
    只有顯示區塊名稱,區塊的內容都沒有顯示。
    我將所有自訂區塊刪除再重新裝了一便,
    一樣無法顯示區塊內容。
    請問我該如何解決?

    拜託幫幫我,因為我的網站如果少了自訂區塊,
    會綁手綁腳的 >O

    迴響 by 碗公 — 二月 18, 2008 @ 1:38 下午

  3. 碗公您好,
    請問您升級前有沒有詳細閱讀 readme.txt?
    我節錄一下給您參考(詳細步驟請看 readme.txt)
    =====2.0.14-to-2.0.17.1-tw-big5/upgrade/readme.txt
    1.Upgrading from XOOPS 2.0.17 (easy way)
    2.Upgrading from XOOPS 2.0.14/2.0.15/2.0.16/2.0.17 (using the full package)
    3.Upgrading from any XOOPS ranging from 2.0.7 to 2.0.13.2 (using the full package):
    =====
    而您說您的版本是 2.6(應該是 2.0.6),並不在上列的升級步驟中
    所以您必須先將 xoops 至少升級到 2.0.7
    http://xoops.tnc.edu.tw/uploads/xoops-2.0.6_to_2.0.7.tar.gz (請先確定是否和您的網頁同樣的語系)
    再升級至 2.0.17
    http://xoops.tnc.edu.tw/modules/wfdownloads/singlefile.php?cid=4&lid=164 (big5)
    http://xoops.tnc.edu.tw/modules/wfdownloads/singlefile.php?cid=4&lid=166 (utf-8)

    至於您己經使用"暴力法"(請原諒我這麼形容,但真的很粗魯)直接升級到 2.0.17,而出現了區塊異常的問題
    我只能建議您這樣做:
    1.有無網站原始碼的備份(2.0.6)?如果有的話,覆蓋回去,沒有的話,下載 2.0.6 再覆蓋
    (請注意,如果之前有更改到的程式碼,將會因為此動作而失效)
    2.更新到 2.0.7,更新步驟請參考 readme.txt
    3.再更新到2.0.17.1,更新步驟請參考 readme.txt

    迴響 by shinnlu — 二月 18, 2008 @ 3:47 下午

  4. 我知道還蠻暴力的~哈@"@
    因為當初架站的是別人,
    而且已經有一段時間了~
    是最近我被告知幫忙將資料轉換到新主機,
    而2.0.6原始版已經無法取得~

    謝謝版大,我大概知道要如何處理…
    感謝您^^

    迴響 by 碗公 — 二月 19, 2008 @ 1:46 下午

  5. 我使用的2.0.16的版本,其中的
    echo “ getVar(“bid")."‘>"._CLONE."“;
    代碼改為了echo “ getVar(“bid")."‘>"._CLONE."“;
    因為在這個版本中沒blocksadminnew.php這個文件,只有blocksadmin.php文件。

    如果複製自定義的區塊則可以成功,但複製article和News的不能成功。現象是:點擊「複製」按鈕可以打開設置對話框,「提交」後,頁面一片空白。

    迴響 by hooface — 四月 27, 2008 @ 11:26 下午

  6. hooface 您好,
    這個錯誤可能是提交後資料無法正常寫入,或是程式發生問題而中斷
    您可以先打開偵錯模式,再把錯誤訊息貼上來

    PHP 和 Mysql 兩個都各試一次

    迴響 by shinnlu — 四月 28, 2008 @ 9:33 下午

  7. 我用的是 2.0.18.1 的版本,照著改後,區塊欄是有"複製"按鈕,但按下後只回到選單畫面,什麼事都沒發生,
    對 XOOPS 跟 PHP 不熟,可以幫忙看一下嗎?

    迴響 by lelo — 五月 8, 2008 @ 11:34 上午

  8. 我在這邊找到解決方法了!不過還是感謝筍子大提供這一方法 ….
    http://www.xoops.org/modules/smartfaq/faq.php?faqid=609

    迴響 by lelo — 五月 8, 2008 @ 12:18 下午

  9. to lelo:
    這個方法也可以達到同樣的目地,只是要手動去更改模組設定檔,再更新一次模組。

    迴響 by shinnlu — 五月 9, 2008 @ 11:17 上午

  10. 2.0.18-1里面沒有blocksadminnew.php這個文件 找了以前的版本到2.0.13都沒有這個文件,看來必須用8樓的方法手工複製模塊。

    為什麼要取消這個功能呢?

    迴響 by hyper2k — 六月 2, 2008 @ 1:18 下午

  11. to hyper2k:
    那一個blocksadminnew 請把他改成 blocksadmin(這是一個資料夾名稱,不是檔案),
    因為我在修改模組時,會先複製一份新的,更改的時候盡量不動原始版本的檔案
    出錯也可以還原,另外就是修改完可以用程式碼比對軟體,去比較出那幾個地方有修改

    取消這個功能的原因,我也不知道.

    迴響 by shinnlu — 六月 2, 2008 @ 4:01 下午

此篇文章迴響的訂閱源料 TrackBack URL

發表迴響

Powered by WordPress