能在管理台中使用的event(事件)



  • 小弟是一位Joomla 新手,目前嘗試寫一個使用於後台的外掛,但對plugin的event(事件)所知不多,鑑於小弟使用3.0.2版本,尋找相關文章更加困難,希望各位能解開我的疑問 m(_ _)m

    我寫的外掛最終目標是在好幾個元件的view輸出頁面前,利用外掛改變其model內的data。也就是說資料庫內的數據和輸出頁面的不一樣。以上所說的元件,全部都在管理台發生,與前台一點關係都沒有。

    參考了Joomla本身的程式(plugin資料夾)然後在網上搜尋了好一陣子,我大概知道我的程式的事件(event)誘發點應該在頁面輸出之前,那應該就是onContentBeforeDisplay。 我寫了一個簡單的plugin, 希望在後台誘發onContentBeforeDisplay事件,程式如下:

    <_?php

    defined(’_JEXEC’) or die;
    jimport(‘joomla.plugin.plugin’);

    class plgMyPlugin extends JPlugin
    {
    public function onContentBeforeDisplay($context)
    {
    jexit(JText::(‘Hello World’));
    }
    }

    如果一切順利,在後台進入任何頁面都應該只會看到hello world。但結果後台沒任何異常,反而hello world出現在前台(雖然在意料之中)

    我想問的是,有沒有一個列表,列出所有joomla 的event,這些event誘發的時間點,並解釋哪些能使用於管理台?


  • Global Moderators

    外掛開發可以參考官方的專門的資訊頁:
    http://docs.joomla.org/Plugin_Development

    內容類的外掛可以看這篇(注意這是針對1.5版本的)
    http://docs.joomla.org/Creating_a_content_plugin

    1.6之後需要更改名稱
    http://docs.joomla.org/Adapting_a_Joomla_1.5_extension_to_Joomla_1.6#Renamed_Events

    這些"觸發"的名稱定義應該是在這裡:
    components\com_content\views\article\view.html.php


登入以回覆

看起來你的連線到 Joomla!台灣討論區 已經遺失,請稍等一下我們嘗試重新連線。