網路遊美國

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 39|回復: 0

[程式寫法] 插件試寫

[複製鏈接]
  • TA的每日心情
    親吻
    14 小時前
  • 簽到天數: 625 天

    [LV.9]擔任課長

    1070

    主題

    1913

    帖子

    1萬

    積分

    管理員

    Rank: 12Rank: 12Rank: 12

    積分
    10619

    站長程式達人支持烏克蘭

    發表於 2022-9-11 07:23:28 | 顯示全部樓層 |閱讀模式

    馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社區。

    您需要 登錄 才可以下載或查看,沒有賬號?立即註冊

    x
    作為一個新手,目前也是剛剛玩轉discuz的插件功能,好東西不敢獨享,就拿出來大家一起分享入門的過程。
    現在網上很多關於discuz的插件教程都是很簡單的教程,原因可能是這個東西是商業化的東西,本著分享的精神,今天我就自己做了一個教程,discuz新手入門的教程。
    很詳細的介紹我是怎樣入門的。
    問題1.discuz後台沒有設計新插件!
    解決方案:在config\config_global.php 最下面添加$_config['plugindeveloper'] = 2; 刷新後台應用即可


    問題2.怎麼知道discuz在那些點設置了鉤子呢?
    設置完成1後 工具->清理緩存然後刷新下頁面就出現好多類似string global_usernav_extra1的東西這就是錨點,也是插件可以利用的點。
    好了下面開始做插件:
    後台->插件->設計新插件
    提交後請在插件管理中啟用即可
    然後點擊設計新插件
    就會進入如下圖所示
    p1.jpg

    接著
    在source/plugin下新建一個文件夾,文件夾的名稱要和所要創建的插件的標識符相同。

    然後在創建的文件夾下面創建您需要的文件。如下圖我在模塊裡面定義了 頁面嵌入的test1類文件,則需要在插件文件夾中新建一個test1.class.php的文件


    下面是需要注意的東西。


    test1.class.php中文件的上部分是discuz的引入部分,而下面的類名必須要和插件的名稱一致。


    之後在類中書寫function函數。這裡需要注意的是:只有function的的名稱與外面相應位置顯示的名稱一致的時候才會在相應頁面中的相應位置中運行。


    在每次新增加或者修改文件則盡量刷新下緩存文件


    在前台的相應頁面刷新後就會出現我們剛才做的簡單的示例。


    這裡需要注意的是,如果需要在指定位置進行運算的話,進行頁面輸出的時候盡量不要使用echo 或者var_dump進行輸出,因為這樣會輸出到最頂部,也就是網頁的外圍部分上。而使用return則會在指定的地方進行輸出。


    值得注意的是,在編寫插件的時候,如果確實要輸出的話,先按照1步驟後,看下前台所需的頁面上有沒有。到此,簡單的discuz的插件就開發完畢了。點擊導出按鈕後導出文件放在當前插件文件夾的根目錄下直接的發布給別人就可以正常的使用了。


    評分

    參與人數 1威望 +12 金幣 +12 收起 理由
    新台灣 + 12 + 12 感謝您的分享~

    查看全部評分

    給我一個吻~
    回復

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 立即註冊

    本版積分規則

    Archiver|手機版|小黑屋|網路遊美國

    GMT+8, 2024-10-3 20:48 , Processed in 0.087673 second(s), 30 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回復 返回頂部 返回列表