J'ai vu ce post et c'était vraiment utile
Créer des catégories, sous-catégories et articles en utilisant php
mais je ne suis pas capable de créer des articles en utilisant le même script.
J'ai modifié le script mais à chaque fois, cela me donne cette erreur
Appel à une méthode non définie CategoriesHelper :: validateCategoryId ()
Existe-t-il un autre moyen de créer des articles en vrac ou d’ajouter des données à la table joomla #__content ??
J'ai également fait face au même problème une fois et j'ai modifié le code comme suit, ce qui a fonctionné pour moi. Vous devez également passer les paramètres access
et metadata
dans les paramètres de l'article.
$article_data = array(
'id' => 0,
'catid' => 2,
'title' => 'My article title',
'alias' => 'my-article-alias',
'introtext' => 'My intro text',
'fulltext' => 'My full text',
'state' => 1, //if you want to keep the article published else 0
'alias' => 'my-article-alias',
'state'=>1,
'language' => '*',
'access' => 1,
'metadata' => json_encode(array('author' => '', 'robots' => ''))
);
$article_id = createArticle($article_data);
if(!$article_id){
echo "Article create failed!";
}
else{
echo 'Article created';
}
function createArticle($data)
{
$data['rules'] = array(
'core.edit.delete' => array(),
'core.edit.edit' => array(),
'core.edit.state' => array(),
);
$basePath = JPATH_ADMINISTRATOR.'/components/com_content';
require_once $basePath.'/models/article.php';
$article_model = JModelLegacy::getInstance('Article','ContentModel');
// or $config= array(); $article_model = new ContentModelArticle($config);
if(!$article_model->save($data)){
$err_msg = $article_model->getError();
return false;
}else{
$id = $article_model->getItem()->id;
return $id;
}
}
Remarque: Pour static, cela ne fonctionnera qu'une seule fois car l'alias de l'article doit être unique.
J'espère que cela t'aides.
Vous pouvez importer des données dans le #__articles
table dans phpMyAdmin
à l'aide d'une importation CVS.
Notez que les entrées créées dans le #__assets
Les tableaux ne sont pas nécessaires à la stabilité du site. Nous utilisons beaucoup de sites Web Joomla sur lesquels les articles n’ont pas d’entrée associée dans le #__assets
table.