我喜欢阅读Joomla 2.5中的id文章。 因为我不在框架内,所以我首先要包含它。 我还发现了一些样本如何通过id获取文章,但它失败了...... 这是我正在尝试的样本:
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();
文章ID 260可用,但它永远返回null ...
当我跟踪它时,loadResult()中的$ cursor是每个null:
public function loadResult()
{
// Initialise variables.
$ret = null;
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
...
有人可以帮忙吗?
由于 安德烈
答案 0 :(得分:3)
您的脚本中有一些您不需要的东西,我已将其更改为Joomla 2.5编码标准:
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;
希望这有帮助
答案 1 :(得分: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` 有时会为空。