2011-05-19 137 views
4

我開發了簡單的插件在Joomla 1.6 我堅持:如何獲得文章標題和文章網址。Joomla插件:如何獲得文章標題和文章ID

我越來越沒有輸出,如果試圖打印以下語句:

echo $article->title; 
echo $article->id; 

我在PHP文件寫了這個,不使用MVC架構。 有沒有其他設置需要在Joomla管理員端做?

請建議你的指針提取文章標題和文章的網址。

在此先感謝!

普拉

+0

要檢查代碼當前顯示的文章,確保'JRequest :: getCmd( '查看', '')''返回 「文章」' 。 – Flimm 2016-04-21 09:55:19

回答

5

我想:

public function onContentPrepare($context,&$article, &$params, $limitstart) { 
echo JRequest::getVar('id'); 
} 

但我沒有得到身份證。這是正確的嗎?

該文章載入您的第二個參數($article)。參加此活動(onContentPrepare),您可以訪問的唯一屬性是$article->text

爲了適合您的目的(獲取文章ID和標題),您將需要使用另一個名爲「onContentBeforeDisplay」的活動。

public function onContentBeforeDisplay($context, &$article, &$params, $limitstart) 

在這裏,您有(再次)通過第二個參數傳遞的文章,但現在你有一個像$article->id$article->title和許多其他訪問性能。

有關內容事件將來參考,看看文件 「插件\內容\例子\使用example.php

+0

感謝您的幫助....它的作品! – pravin 2011-05-23 09:58:29

13

爲了讓文章ID,你必須寫:

echo JRequest::getVar('id'); 

爲標題,你只是把你得到的標識,裝載物品​​對象

$blabla = $article->load(ID); 
echo $blabla->get('title'); 
+0

我試過了:public function onContentPrepare($ context,&$ article,&$ params,$ limitstart) {\t \t \t echo JRequest :: getVar('id'); }仍然我沒有得到身份證...這是寫? – pravin 2011-05-19 10:11:06

-5

要獲得的Joomla文章編號使用...

<?php echo JRequest::getVar('Itemid'); ?> 

在前面的回答中,有人用id而不是Itemid。希望這可以幫助!

+1

Itemid用於不用於菜單的菜單。 – Irfan 2012-10-05 14:43:26

-3

您可以使用趨於活躍文章標題這樣

$menu =& Jsite::getMenu(); echo $menu->getActive()->title; 

這可能幫助。

+1

獲取當前菜單標題。 – computrius 2013-12-19 18:19:20

7

看起來JRequest在2.5 & 3.x中已棄用,如Deprecated Elements列表中所示。

我寧願使用以下方法:

$article_id = JFactory::getApplication()->input->get('id');