我在Joomla 1.6中开发了简单的插件 我坚持:如何获得文章标题和文章网址。
如果尝试打印以下声明,我没有输出:
echo $article->title;
echo $article->id;
我在php文件中写过这个,没用过MVC架构。 在Joomla管理员方面是否还需要进行其他设置?
请建议您提取文章标题和文章网址。
提前致谢!
普拉
答案 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
。希望这有帮助!