Возник вопрос программно добавить материал. Вот что нашлось по этому вопросу..

$userid = JFactory::getUser()->guest ? 900 : JFactory::getUser()->id;

if (version_compare(JVERSION, '3.0', 'lt')) {
 JTable::addIncludePath(JPATH_PLATFORM . 'joomla/database/table');
}

$article = JTable::getInstance('content');

$article->title = 'Заголовок';
$article->language = '*';

// Set alias
if (trim($article->alias) == '')
{
 $article->alias = $article->title;
}

$article->alias = JApplicationHelper::stringURLSafe($article->alias, $article->language);

if (trim(str_replace('-', '', $article->alias)) == '')
{
$article->alias = JFactory::getDate()->format('Y-m-d-H-i-s');
}

/* $article->alias = JFilterOutput::stringURLSafe('This is my super cool title3!'); */
$article->introtext = '';
$article->catid = 24;
$article->created = JFactory::getDate()->toSQL();
$article->created_by = $userid;
/* $article->created_by_alias = 'Super User'; */
$article->state = 1;
$article->access = 1;
$article->metadata = '{"page_title":"","author":"","robots":""}';

// Check to make sure our data is valid, raise notice if it's not.
if (!$article->check()) {
JError::raiseNotice(500, $article->getError());

return FALSE;
}

// Now store the article, raise notice if it doesn't get stored.
if (!$article->store(TRUE)) {
JError::raiseNotice(500, $article->getError());

return FALSE;
}

//echo $article->id;

//Добавляем пользовательские поля
JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_fields/models', 'FieldsModel');
$fieldModel = JModelLegacy::getInstance('Field', 'FieldsModel', array('ignore_request' => true));
$fieldModel->setFieldValue(9, $article->id, 'что-то 1');
$fieldModel->setFieldValue(10, $article->id, 'что-то 2');