Joomla 模块获取当前文章标题

Joomla module get current article title

我正在尝试构建一个模块,该模块应显示当前查看的文章的文章标题。

我从显示页面标题的 default.php 布局中的这段代码开始,但我需要对其进行编辑,使其显示文章标题而不是页面标题。

$heading = $document->getTitle();

我应该如何编辑它以获取文章标题而不是页面标题?

我是这样解决的:

$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
if ($option=="com_content" && $view=="article") {
    $ids = explode(':',JRequest::getString('id'));
    $article_id = $ids[0];
    $article =& JTable::getInstance("content");
    $article->load($article_id);

    $heading = $article->get("title");
}

不确定这是 correct/best 解决方案,但目前看来可行。 关于此代码或更好的实现有任何建议、评论吗?

如果这是在正常的文章视图中,则以下应该有效:

$input = JFactory::getApplication()->input;
$id = $input->getInt('id', 0);
if(
  $id > 0 
  && $input->getString('option') == 'com_content' 
  && $input->getString('view') == 'article'
) {
    $c = JTable::getInstance('content'); 
    $c->load($id);
    echo $c->title;
}