Demo

討論

保持飢餓,保持愚笨 (Stay hungry, stay foolish)。 史蒂夫·賈伯斯

公告

本網站已取消討論區的討論方式,如果您有問題請至LINE群行動條碼圖片網址,或Facebook社團

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

  • Rickson
  • Rickson 的個人頭像 Topic Author
  • Offline
  • 新手上路
  • 新手上路
More
2012-11-12 17:30 #23706 來自 Rickson
Rickson created the topic: 能在管理台中使用的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誘發的時間點,並解釋哪些能使用於管理台?

Please 登入 to join the conversation.

More
2012-11-22 02:16 #23757 來自 羽城君拉
羽城君拉 replied the topic: 能在管理台中使用的event(事件)
外掛開發可以參考官方的專門的資訊頁:
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

...

Please 登入 to join the conversation.