我是 Joomla 的新手。我正在尝试编写一个模块,该模块将从数据库中获取并显示内容。现在为了从数据库中获取内容,我需要获取当前文章的当前文章 ID 和类别 ID。
我可以使用 JRequest::getVar('id'); 获取带有文章标题附加的 ID;例如:16:abc-def-article-title。
我可以将 id 子串出来,但我认为会有更好的地方来实现它?而且我还需要获取类别 ID。
另外请让我知道如何查看 JRequest::getVar(') 包含的所有变量。非常感谢 !!
我是 Joomla 的新手。我正在尝试编写一个模块,该模块将从数据库中获取并显示内容。现在为了从数据库中获取内容,我需要获取当前文章的当前文章 ID 和类别 ID。
我可以使用 JRequest::getVar('id'); 获取带有文章标题附加的 ID;例如:16:abc-def-article-title。
我可以将 id 子串出来,但我认为会有更好的地方来实现它?而且我还需要获取类别 ID。
另外请让我知道如何查看 JRequest::getVar(') 包含的所有变量。非常感谢 !!
首先,尝试通过方法提取文章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,但我不同意)。