Как получить текст статьи по идентификатору статьи в Joomla?

Я хочу получить текст статьи, передав идентификатор статьи из шаблона joomla.

Простой, обеспечивающий отправку идентификатора статьи с помощью post / get и использование переменной «id» в качестве ее номера:

$articleId = JRequest::getInt('id'); $db =& JFactory::getDBO(); $sql = "SELECT fulltext FROM #__content WHERE id = ".intval($articleId); $db->setQuery($sql); $fullArticle = $db->loadResult(); if(!strlen(trim($fullArticle))) $fullArticle = "Article is empty "; 

EDIT: получить статью из любого места:

 $articleId = (JRequest::getVar('option')==='com_content' && JRequest::getVar('view')==='article')? JRequest::getInt('id') : 0; 

Получить текст статьи по идентификатору статьи в Joomla 2.5 (3 будет работать также в соответствии с документами) плагины:

 $article =& JTable::getInstance("content"); $article->load($id); $content = '<h3>'. $article->get("title").'</h3>'; $content .= $article->get("introtext"); // introtext and/or fulltext 

И идентификатор статьи получается из параметров компонента / плагина, например:

  1. Изнутри собственного компонента:

     $app = JFactory::getApplication(); $params = $app->getParams(); $param = $params->get('terms_article_id'); 
  2. Из другого компонента:

     $params = JComponentHelper::getParams('com_mycom'); $id = $params->get('terms_article_id'); 
  3. Получить параметр модуля из php-файла шаблона:

     $module = JModuleHelper::getModule('mod_mymodule'); $params = new JRegistry($module->params); // or $mymoduleParams if few used $id = (int) $headLineParams['count']; 

У Joomla есть сценарий по умолчанию для получения контента из таблицы sql.

Здесь статья (#__content)

Получить идентификатор статьи:

 $articleId = (JRequest::getVar('option')==='com_content' && JRequest::getVar('view')==='article')? JRequest::getInt('id') : 0; 

Чтобы получить содержание статьи:

 $table_plan = & JTable::getInstance('Content', 'JTable'); $table_plan_return = $table_plan->load(array('id'=>$articleId)); echo "<pre>";print_r($table_plan->introtext);echo "</pre>"; 

попробуйте эту технику:

 $article = JControllerLegacy::getInstance('Content')->getModel('Article')->getItem($articleId); echo $article->introtext;