Joomla插件:如何获得文章标题和文章ID

pra*_*vin 4 joomla joomla-sef-urls joomla-template joomla-extensions

我已经开发了Joomla 1.6中的简单插件我坚持:如何获得文章标题和文章网址.

如果试图在下面的声明中打印,我没有输出:

echo $article->title;
echo $article->id;
Run Code Online (Sandbox Code Playgroud)

我在php文件中写过这个,没用过MVC架构.在Joomla管理员方面是否还需要其他设置?

请建议您提取文章标题和文章网址的指针.

提前致谢!

普拉

Asa*_*saf 14

要获取文章ID,您必须编写以下内容:

echo JRequest::getVar('id');
Run Code Online (Sandbox Code Playgroud)

对于标题,您只需获取您获得的ID,加载文章对象

$blabla = $article->load(ID);
echo $blabla->get('title');
Run Code Online (Sandbox Code Playgroud)


Anr*_*rgh 7

似乎JRequest在不推荐使用的元素列表中指出的2.5和3.x中已弃用.

我宁愿使用以下内容:

$article_id = JFactory::getApplication()->input->get('id');
Run Code Online (Sandbox Code Playgroud)


小智 6

我试过了 :

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

我仍然没有得到身份证明.这是正确的吗?

这篇文章是在你的第二个参数($article)中加载的.参加此活动(onContentPrepare),您可以访问的唯一属性是$article->text.

为了满足您的目的(获取文章ID和标题),您将需要使用另一个名为" onContentBeforeDisplay"的事件.

public function onContentBeforeDisplay($context, &$article, &$params, $limitstart)
Run Code Online (Sandbox Code Playgroud)

在这里,您有(再次)通过第二个参数传递的文章,但现在你有机会获得类似性质$article->id,$article->title许多人并.

有关内容事件的未来参考,请查看文件" plugins\content\example\example.php "