我在 Joomla 1.6 中开发了简单的插件我坚持:如何获取文章标题和文章网址。
如果尝试打印以下语句,我没有得到任何输出:
echo $article->title;
echo $article->id;
我已经在 php 文件中编写了这个,没有使用 MVC 架构。在 Joomla 管理端是否需要做任何其他设置?
请建议您提取文章标题和文章网址的指针。
提前致谢!
普拉文
我在 Joomla 1.6 中开发了简单的插件我坚持:如何获取文章标题和文章网址。
如果尝试打印以下语句,我没有得到任何输出:
echo $article->title;
echo $article->id;
我已经在 php 文件中编写了这个,没有使用 MVC 架构。在 Joomla 管理端是否需要做任何其他设置?
请建议您提取文章标题和文章网址的指针。
提前致谢!
普拉文
为了获得文章 ID,您必须编写以下内容:
echo JRequest::getVar('id');
对于标题,您只需获取您获得的 id,加载文章对象
$blabla = $article->load(ID);
echo $blabla->get('title');
它似乎JRequest
在 2.5 和 3.x 中被弃用,如弃用元素列表中所示。
我宁愿使用以下内容:
$article_id = JFactory::getApplication()->input->get('id');
我试过 :
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 ”
你可以用来获取这样的活跃文章标题
$menu =& Jsite::getMenu(); echo $menu->getActive()->title;
这可能会有所帮助。
要获取 Joomla 文章 ID,请使用此...
<?php echo JRequest::getVar('Itemid'); ?>
在上一个答案中,有人使用id
而不是Itemid
. 希望这可以帮助!