0

我是 Joomla 的新手。我正在尝试编写一个模块,该模块将从数据库中获取并显示内容。现在为了从数据库中获取内容,我需要获取当前文章的当前文章 ID 和类别 ID。

我可以使用 JRequest::getVar('id'); 获取带有文章标题附加的 ID;例如:16:abc-def-article-title。

我可以将 id 子串出来,但我认为会有更好的地方来实现它?而且我还需要获取类别 ID。

另外请让我知道如何查看 JRequest::getVar(') 包含的所有变量。非常感谢 !!

4

1 回答 1

4

首先,尝试通过方法提取文章ID 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,但我不同意)。

于 2012-04-22T22:16:00.953 回答