我正在構建一個Joomla模塊,可以獲取網站上的所有文章的數組 - 無論類別 - 然後標識類別,檢索介紹文本和標題,並以平鋪佈局顯示每個類別中最近兩篇文章的標題,類別和簡介文本。我已經完成了佈局,但我不知道從哪裏開始。可能嗎?Joomla - 獲取文章ID,檢索文本,並鏈接到他們
我並不反對從類別博客中獲取文章,但我不確定這是否可能。
我正在構建一個Joomla模塊,可以獲取網站上的所有文章的數組 - 無論類別 - 然後標識類別,檢索介紹文本和標題,並以平鋪佈局顯示每個類別中最近兩篇文章的標題,類別和簡介文本。我已經完成了佈局,但我不知道從哪裏開始。可能嗎?Joomla - 獲取文章ID,檢索文本,並鏈接到他們
我並不反對從類別博客中獲取文章,但我不確定這是否可能。
這是代碼沒有經過測試,您可能需要檢查並進行微小的修改。
方法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);
因此,這些問題的確可以解決問題,但它們並未解釋:文章是否被髮表或未發表,存檔或被刪除;用戶是否可以訪問該文章;該文章是否使用當前語言。還要考慮10,000件甚至500件的案例。你真的想要它們嗎? – Elin
我正在努力實現它,但你是對的。我需要的是來自每個類別的兩篇最新文章,以及其餘的適應性隨機分類。但現在應該這樣做。 – user1576628
有檢索文章的最佳方式:
$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緩存並且不依賴於數據庫結構。
什麼版本的joomla? – pathfinder
我使用Joomla 3.x. – user1576628