2011-05-19 144 views
4

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

我越来越没有输出,如果试图打印以下语句:

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

我在PHP文件写了这个,不使用MVC架构。 有没有其他设置需要在Joomla管理员端做?

请建议你的指针提取文章标题和文章的网址。

在此先感谢!

普拉

+0

要检查代码当前显示的文章,确保'JRequest :: getCmd( '查看', '')''返回 “文章”' 。 – Flimm 2016-04-21 09:55:19

回答

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和许多其他访问性能。

有关内容事件将来参考,看看文件 “插件\内容\例子\使用example.php

+0

感谢您的帮助....它的作品! – pravin 2011-05-23 09:58:29

13

为了让文章ID,你必须写:

echo JRequest::getVar('id'); 

为标题,你只是把你得到的标识,装载物品​​对象

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

我试过了:public function onContentPrepare($ context,&$ article,&$ params,$ limitstart) {\t \t \t echo JRequest :: getVar('id'); }仍然我没有得到身份证...这是写? – pravin 2011-05-19 10:11:06

-5

要获得的Joomla文章编号使用...

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

在前面的回答中,有人用id而不是Itemid。希望这可以帮助!

+1

Itemid用于不用于菜单的菜单。 – Irfan 2012-10-05 14:43:26

-3

您可以使用趋于活跃文章标题这样

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

这可能帮助。

+1

获取当前菜单标题。 – computrius 2013-12-19 18:19:20

7

看起来JRequest在2.5 & 3.x中已弃用,如Deprecated Elements列表中所示。

我宁愿使用以下方法:

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