Joomla.it Forum

Joomla! 3 => Joomla! 3 => : cervinim 22 Jun 2018, 08:50:40

: RISOLTO: Creare articoli Joomla con Chronoforms V5
: cervinim 22 Jun 2018, 08:50:40
Ciao a tutti,  :) 
sul mio sito Joomla 3.8.8 ho creato un modulo Chronoforms V5 che pubblica un articolo in una categoria: funziona correttamente ma un utente di frontend non puņ modificare questo articolo.  :-\
Ho controllato l'autorizzazione sulla categoria dell'articolo ed č corretto, il gruppo del mio utente di frontend ha pieno accesso a questa categoria.
Ho trovato in un altro forum che ciņ dipende dal fatto che chronoforms non scrive il record del nuovo articolo nella tabella #_assets.  :o
Se modifico e salvo l'articolo nel back-end, tutto funziona correttamente e l'utente del frontend ora puņ modificare! (il record del nuovo articolo nella tabella #_assets č stato creato!)


Qualcuno conosce una soluzione?


Grazie a tutti!
: RISOLTO: Creare articoli Joomla con Chronoforms V5
: cervinim 25 Jun 2018, 10:39:50
Ciao a tutti,
finalmente ho trovato una soluzione alternativa:  ;D ho usato le API di Joomla al posto della funzione di CF5 e funziona correttamente!

Ecco il codice usato:

:
<?php
if (version_compare(JVERSION'3.0''lt')) {
JTable::addIncludePath(JPATH_PLATFORM 'joomla/database/table');
}


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


$article->title $form->data['my_title'];
$article->alias JFilterOutput::stringURLSafe($form->data['my_title']);
$article->introtext $form->data['my_introtext'];
$article->fulltext $form->data['my_fulltext'];
$article->catid my_cat_ID;
$article->created JFactory::getDate()->toSQL();;
$article->created_by_alias JFactory::getUser()->get('name');;
$article->state 0//0=disabled 1=enabled
$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;
}
?>