Я хочу получить текст статьи, передав идентификатор статьи из шаблона 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
И идентификатор статьи получается из параметров компонента / плагина, например:
Изнутри собственного компонента:
$app = JFactory::getApplication(); $params = $app->getParams(); $param = $params->get('terms_article_id');
Из другого компонента:
$params = JComponentHelper::getParams('com_mycom'); $id = $params->get('terms_article_id');
Получить параметр модуля из 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;