2017-08-09 43 views
0

我试图建立一个模块,应显示当前文章查看文章标题。Joomla模块获取当前文章标题

我已经从我的default.php布局中的代码开始,显示了页面的标题,但是我需要对它进行编辑,以便显示文章标题而不是页面标题。

$heading = $document->getTitle(); 

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

回答

0

我已经解决了这个办法:

$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"); 
} 

不知道这是正确的/最佳的解决方案,但目前看来工作。 任何建议,有关此代码的评论或更好的实施?

+0

如果出于某些你喜欢去'getString'和'explode',而不是建议'getInt'原因,可能是一个好主意,以确保'$ article_id'是一个整数,所以我会用'$ article_id =(int)$ ids [0];'替换第五行;' – Hazzit

1

如果这是正常的文章认为,以下应该工作:

$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; 
} 
+0

感谢jonasfh的回复。任何想法也如何我可以得到文章介绍图像的网址和文章介绍图像替代文字? – Francesco

+0

应该类似,使用'$ c-> image_intro'和'$ c-> image_intro_alt'。 – jonasfh

+1

使用'print_r($ c);'查看哪些属性加载到内容对象中 – jonasfh