Обновление существующей статьи в Joomla - PullRequest
0 голосов
/ 03 мая 2018

У меня есть этот код для хранения новой статьи в Joomla:

JTable::addIncludePath(JPATH_PLATFORM . 'joomla/database/table');

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

$article->title            = 'This is my super cool title!';
$article->alias            = JFilterOutput::stringURLSafe('This is my super cool title!');
$article->introtext        = "some content";
$article->catid            = 9;
$article->created          = JFactory::getDate()->toSQL();;
$article->created_by_alias = 'my editor';
$article->state            = 1;
$article->access           = 1;
$article->metadata         = '{"page_title":"","author":"","robots":""}';
$article->language         = '*';

// 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;
}

Но я не вижу, как обновить существующий с его идентификатором. Где это в документе? У вас есть предложения?

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете использовать функцию load для первой загрузки этой записи, а после назначения новых значений вы можете сохранить их в таблице, как показано в приведенном ниже коде -

$articleId = 6;// Change this to actual article id
JTable::addIncludePath(JPATH_PLATFORM . 'joomla/database/table');
$article = JTable::getInstance('content');
$article->load($articleId);
$article->title = $article->title . ' Updated';
if (!$article->check() || !$article->store())
{
    throw new RuntimeException($article->getError());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...