【问题标题】:Pulling only the title and body of an article (Joomla)仅提取文章的标题和正文(Joomla)
【发布时间】:2025-12-04 00:30:01
【问题描述】:

我已在我的 Joomla 模板中插入以下行:

<jdoc:include type="component" />

这将带来整个帖子,包括文章的标题。如何将精选文章标题与其正文/内容分开以进行样式设置?

谢谢。

【问题讨论】:

    标签: joomla joomla-template joomla2.5


    【解决方案1】:

    我刚刚测试了这段代码,它似乎可以在 Joomla 2.5.3 上运行:

    $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);
      echo $article->get("title");
      echo $article->get("introtext"); // and/or fulltext
    }
    

    【讨论】:

    • 感谢您的回复。我把这是我的代码,但它似乎没有返回任何东西。有什么想法吗?
    • 您使用的是哪种视图?单篇文章、博客、精选文章……?
    • 我确认我正在使用 2.5.3 ,我正在使用 beez_20 模板对其进行测试,您能否回显 $option 和 $view 以查看是否获得预期结果(com_content 和文章) ?
    【解决方案2】:
                        $catId = 80;
                        $query = "SELECT * FROM #__content WHERE catid ='" . $catId . "'";
                        $db = &JFactory::getDBO();
                        $db->setQuery($query); 
                        $articles = $db->loadObjectList(); 
                        foreach($articles as $article){
    
    
                         $article_id=$article->id;
                         $article_title=$article->title;
    
                       $article_content=$article->get("introtext");
    

    【讨论】:

    • 这个答案不正确,您将类别 ID 设置为 80 并且 OP 对此没有任何说明。如果 $articles 是 NULL,此代码或多或少会在日志中发出警告