2012-04-22 6 views
0

Я новичок в Joomla. Я пытаюсь написать модуль, который будет извлекать и отображать содержимое из базы данных. Теперь для получения содержимого из базы данных мне нужно получить текущий идентификатор статьи и идентификатор категории текущей статьи.Запросить переменные в Joomla

Я могу получить идентификатор с заголовком статьи, используя JRequest :: getVar ('id'); ex: 16: abc-def-article-title.

Я могу подстроить id из него, но я думаю, что было бы лучшее место для его достижения? А также мне нужно получить идентификатор категории.

Также, пожалуйста, дайте мне знать, как я могу увидеть, что все переменные выполняет JRequest :: getVar ('). Большое спасибо!

+0

попробуйте здесь: http://stackoverflow.com/questions/7219876/how-to-get-article-text-by-article-id-in-joomla – alfasin

+0

Какая версия Joomla! вы используете? – happyproff

+0

О, извините. Я не видел тегов. – happyproff

ответ

4

Во-первых, попробуйте экстракт Код статьи по методу getInt():

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

Это более безопасно, то getVar().

Затем, чтобы получить идентификатор категории, вы можете использовать этот код в файле модуля:

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, но я не shure).

+0

Это замечательно, хотя и вызывает фатальную ошибку, если вы находитесь на странице списка категорий/блога. Где вы нашли этот код, не смогли найти ничего близкого к этому, и это было бы очень полезно. – Gisto