Bonjour,
J'aimerais pouvoir manipuler mes articles/catégories/menus via du code PHP. L'idée serait de pouvoir mettre à jour des articles, en créer et les rendre accessibles dans un menu.
Pour cela, je me suis penché dans un premier temps sur les classes ContentModelArticle(s) et ContentModelCategory.
Voici ce que j'ai essayé pour l'instant :
Est-ce que ces objets permettent de mettre à jour les articles/catégories ?
Si oui, comment ?
Ou est-ce qu'il faut les surcharger ? Utiliser d'autres objets ? Attaquer directement la BDD ?
Merci d'avance pr votre aide.
J'aimerais pouvoir manipuler mes articles/catégories/menus via du code PHP. L'idée serait de pouvoir mettre à jour des articles, en créer et les rendre accessibles dans un menu.
Pour cela, je me suis penché dans un premier temps sur les classes ContentModelArticle(s) et ContentModelCategory.
Voici ce que j'ai essayé pour l'instant :
Code:
JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_categories/tables'); require_once JPATH_ADMINISTRATOR . '/components/com_content/models/article.php'; require_once JPATH_ADMINISTRATOR . '/components/com_categories/models/category.php'; $artmodel = new ContentModelArticle(); $artmodel->getItem(72); $data = array( 'id' => 72, 'catid' => 1, 'title' => 'SOME TITLE BIS', 'introtext' => 'SOME TEXT T', 'fulltext' => 'SOME TEXT', 'state' => 1, ); //ne met pas à jour l'article $result = $artmodel->save($data); //cree un nouvel article $artmodel = new ContentModelArticle(); $data = array( 'catid' => 1, 'title' => 'SOME TITLE BIS', 'introtext' => 'SOME TEXT T', 'fulltext' => 'SOME TEXT', 'state' => 1, ); $result = $artmodel->save($data); $catmodel = new CategoriesModelCategory(array()); $data = array ( 'parent_id' => '0', 'extension' => 'com_content', 'title' => 'coucou', 'alias' => '', 'note' => '', 'description' => 'my description', 'published' => '1', 'access' => '1', 'metadesc' => '', 'metakey' => '', 'created_user_id' => '1', 'language' => '*', 'rules' => array ( 'core.create' => array ( ), 'core.delete' => array ( ), 'core.edit' => array ( ), 'core.edit.state' => array ( ), 'core.edit.own' => array ( ), ), 'params' => array ( 'category_layout' => '', 'image' => '', ), 'metadata' => array ( 'author' => '', 'robots' => '', ), ); $status = $catmodel->save($data);
Si oui, comment ?
Ou est-ce qu'il faut les surcharger ? Utiliser d'autres objets ? Attaquer directement la BDD ?
Merci d'avance pr votre aide.
Commentaire