我试图建立一个模块,应显示当前文章查看文章标题。Joomla模块获取当前文章标题
我已经从我的default.php布局中的代码开始,显示了页面的标题,但是我需要对它进行编辑,以便显示文章标题而不是页面标题。
$heading = $document->getTitle();
我该如何编辑它以获得文章标题而不是页面标题?
我试图建立一个模块,应显示当前文章查看文章标题。Joomla模块获取当前文章标题
我已经从我的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");
}
不知道这是正确的/最佳的解决方案,但目前看来工作。 任何建议,有关此代码的评论或更好的实施?
如果这是正常的文章认为,以下应该工作:
$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;
}
如果出于某些你喜欢去'getString'和'explode',而不是建议'getInt'原因,可能是一个好主意,以确保'$ article_id'是一个整数,所以我会用'$ article_id =(int)$ ids [0];'替换第五行;' – Hazzit