2013-02-23 113 views
2

我喜歡閱讀從Joomla 2.5編號的文章。 由於我不在框架內,我必須先包含它。 我也發現了一些樣本如何通過ID,而不是讓一個文章,但它沒有成功... 這是我想要的樣本:從外部腳本訪問Joomla 2.5以獲得文章編號

define('_JEXEC', 1); 
define('_VALID_MOS', 1); 
define('JPATH_BASE', realpath(dirname(__FILE__))); 
define('DS', DIRECTORY_SEPARATOR); 
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 
echo JPATH_BASE .DS.'includes'.DS.'framework.php'; 
$mainframe =& JFactory::getApplication('site'); 
$mainframe->initialise(); 
echo $mainframe->getCfg('sitename'); 

$articleId = JRequest::getInt('Itemid'); 
$db =& JFactory::getDBO(); 

$sql = "SELECT fulltext FROM #__content WHERE id = 260"; //.intval($articleId); 
$db->setQuery($sql); 
$fullArticle = $db->loadResult(); 

文章編號260可用,但它曾經返回null .. 。

當我跟蹤它$光標loadResult()是每個空:

public function loadResult() 
{ 
    // Initialise variables. 
    $ret = null; 

    // Execute the query and get the result set cursor. 
    if (!($cursor = $this->execute())) 
    { 
     return null; 
    } 
    ... 

有人可以幫助嗎?

感謝 安德烈

+0

你的問題是什麼? – 2013-02-23 16:02:52

+1

我發現查詢中的字段'fulltext'不可用 - 因此肯定會有錯誤。然而,也許有人可以展示一個例子如何獲得一篇文章,以避免在將來這樣的錯誤類... – 2013-02-23 16:11:43

+1

嘗試與'introtext' – 2013-02-23 16:16:53

回答

3

有你沒有在你的腳本需要一些東西,我已經把它改成2.5的Joomla編碼標準:

define('_JEXEC', 1); 
define('JPATH_BASE', realpath(dirname(__FILE__))); 
require_once (JPATH_BASE .'/includes/defines.php'); 
require_once (JPATH_BASE .'/includes/framework.php'); 
require_once (JPATH_BASE .'/libraries/joomla/factory.php'); 

$db = JFactory::getDBO(); 
$query = $db->getQuery(true); 
$query->select('introtext') 
->from('#__content') 
->where('id = 260'); 
$db->setQuery($query); 

$fullArticle = $db->loadResult(); 

echo $fullArticle; 

希望這有助於

0

嘗試這個SQL查詢,它現在應該工作!

$sql = 'SELECT `fulltext` FROM `#__content` WHERE `id` = 260'; 

什麼Lodder說的是完全一樣的,只有更好的結構比你的查詢。

所以你可以用這種風格編碼,如果它適合你。在他的編碼方式,它會變成:

$sql = $db->getQuery(true); 
$sql->select('fulltext') 
->from('#__content') 
->where('id = 260'); 
$db->setQuery($sql); 

易於閱讀和修改這種方式,不是嗎? :)

此外,您還可以獲取從內容`introtext``fulltext`有時是零。