2012-04-22 86 views
0

我是Joomla的新手。我正在嘗試編寫一個模塊來獲取並顯示數據庫中的內容。 現在爲了從數據庫中獲取內容,我需要獲取當前文章的當前文章ID和類別ID。Joomla中的請求變量

我能夠使用JRequest :: getVar('id')獲得文章標題附加的id; 例如:16:abc-def-article-title。

我可以將id從其中分出來,但我認爲會有更好的實現它的地方? 而且我還需要獲得類別ID。

另請讓我知道我怎麼看JREquest :: getVar(')所有的變量。 非常感謝!

+0

請嘗試此處:http://stackoverflow.com/questions/7219876/how-to-get-article-text-by-article-id-in-joomla – alfasin 2012-04-22 15:16:16

+0

哪個版本的Joomla!你使用? – happyproff 2012-04-22 22:00:07

+0

哦,對不起。我沒有看到標籤。 – happyproff 2012-04-22 22:38:31

回答

4

首先,嘗試提取文章編號由方法getInt()

JRequest::getInt('id', 0); 

它更安全,然後getVar()

然後,爲了獲取類ID,您可以在模塊文件中使用此代碼:

jimport('joomla.application.component.model'); 
$articlesModel = JModel::getInstance('ContentModelArticle'); 

$articleId = JRequest::getInt('id', 0); 
$article = $articlesModel->getItem($articleId); 
$categoryId = $article->catid; 

使用Joomla!內置模型,而不是直接的SQL查詢是理解Joomla架構和編寫安全應用程序的最佳方式,這些應用程序將在未來輕鬆維護。

注意:代碼示例實際上只用於Joomla 2.5(可能和1.6,1.7,但我不舒服)。

+0

這很棒,但如果您在某個類別/博客列表頁面上,則會引發致命錯誤。你在哪裏找到這個代碼,一直沒有找到任何接近這個的代碼,這將是非常有用的。 – Gisto 2012-09-27 00:52:44