2014-01-16 92 views
0

我正在構建一個Joomla模塊,可以獲取網站上的所有文章的數組 - 無論類別 - 然後標識類別,檢索介紹文本和標題,並以平鋪佈局顯示每個類別中最近兩篇文章的標題,類別和簡介文本。我已經完成了佈局,但我不知道從哪裏開始。可能嗎?Joomla - 獲取文章ID,檢索文本,並鏈接到他們

我並不反對從類別博客中獲取文章,但我不確定這是否可能。

+0

什麼版本的joomla? – pathfinder

+0

我使用Joomla 3.x. – user1576628

回答

0

這是代碼沒有經過測試,您可能需要檢查並進行微小的修改。

方法1:在這裏你需要再次從你在循環中得到的類別id中查詢類別細節。

$db = JFactory::getDbo(); 

$query = $db->getQuery(true); 
$query->select('*'); 
$query->from('#__content'); 

$db->setQuery((string)$query); 
$res = $db->loadObjectList(); 

foreach($res as $r){ 
    //query category details also here 
    echo '<h3>'.$r->title.'</h3>'; 
    echo $r->introtext; 
} 

方法2:在這種方法中,你都應該在一個查詢來獲取內容和類別的詳細信息。在選擇查詢中,您需要包含您需要的字段名稱。

$db = JFactory::getDbo(); 
$db->setQuery('SELECT #__content.title as contentTitle, #__categories.title as catTitle FROM #__content, #__categories WHERE #__content.catid = #__categories.id'); 
$details = $db->loadObjectList(); 
print_r(details); 
+0

因此,這些問題的確可以解決問題,但它們並未解釋:文章是否被髮表或未發表,存檔或被刪除;用戶是否可以訪問該文章;該文章是否使用當前語言。還要考慮10,000件甚至500件的案例。你真的想要它們嗎? – Elin

+0

我正在努力實現它,但你是對的。我需要的是來自每個類別的兩篇最新文章,以及其餘的適應性隨機分類。但現在應該這樣做。 – user1576628

1

有檢索文章的最佳方式:

$jcontent=JControllerLegacy::getInstance('Content'); 
$jarticles=$jcontent->getModel('Articles'); 
$jarticles->getState(); 
$jarticles->setState('filter.article_id', $ids); 
$jarticles->setState('list.limit', count($ids)); 
$jarticles->setState('filter.published', 1); 
$articles=$jarticles->getItems(); 

此代碼進行測試,並且對我來說,這是最好的方式 - 它使用的Joomla抽象檢索的文章,它使用Joomla緩存並且不依賴於數據庫結構。

相關問題