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

时间:2011-05-19 09:58:47

标签: joomla joomla-extensions joomla-template joomla-sef-urls

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

如果尝试打印以下声明,我没有输出:

echo $article->title;
echo $article->id;

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

请建议您提取文章标题和文章网址。

提前致谢!

普拉

5 个答案:

答案 0 :(得分:14)

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

echo JRequest::getVar('id');

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

$blabla = $article->load(ID);
echo $blabla->get('title');

答案 1 :(得分:7)

似乎JRequest已弃用2.5& 3.x,如Deprecated Elements列表中所示。

我宁愿使用以下内容:

$article_id = JFactory::getApplication()->input->get('id');

答案 2 :(得分:5)

我试过了:

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

我仍然没有得到身份证明。这是对的吗?

文章加载在你的第二个参数($article)中。参与此活动(onContentPrepare),您可以访问的唯一媒体资源是$article->text

为了达到您的目的(获取文章ID和标题),您需要使用另一个名为“onContentBeforeDisplay”的活动。

public function onContentBeforeDisplay($context, &$article, &$params, $limitstart)

在这里,您(再次)通过第二个参数传递了文章,但现在您可以访问$article->id$article->title等许多其他属性。

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

答案 3 :(得分:-3)

您可以用来获取此活动文章标题

$menu =& Jsite::getMenu(); echo $menu->getActive()->title;

可能会有所帮助。

答案 4 :(得分:-5)

要获得Joomla文章ID,请使用此...

<?php echo JRequest::getVar('Itemid'); ?>

在之前的回答中,有人使用id代替Itemid。希望这有帮助!