Ciao a tutti.
Premetto che sto ancora lavorando in locale con EasyPhp.
Devo realizzare un sito che recupera i dati da un foglio xml "casalingo" e crea i contenuti relativi cancellando i contenuti precedenti e inserendo quelli nuovi, realizzando quindi un aggiornamento.
Ho realizzato in drupal il nuovo tipo di contenuto del quale leggerò i valori sul foglio xml e ne ho creato uno di prova solo che non riesco a capire dove vengano memorizzati i valori che ho inserito io manualmente.
La mia idea era questa:
Cancello i dati dal database (solo quelli relativi al tipo di contenuto che devo prendere dal foglio xml);
Leggo i nuovi dati dal foglio xml;
Scrivo sul database i nuovi dati letti che adranno praticamente a "sostituire" quelli vecchi.
La domanda, visto che la chiarezza e la sintesi non mi appartengono, è:
in che punto del database vengono memorizzati i valori che io ho creato realizzando un nuovo contenuto?
Un grazie a chi mi risponderà!
Da come mi è sembrato di capire vuoi realizzare una procedura automatizzata tramite modulo custom.
Nella struttura tabellare di Drupal trovi delle tabelle con suffisso node_ quella che principalmente ti interessa per i contenuti è la node_access, ma tieni presente che non è la sola, Drupal usa anche le altre quando si fa un insert di un nuovo node.
Nel tuo file XML casalingo predisponi un tag apposito anche per le tabelle e fields da andare a modificare, fondamentale se hai content-type diversi.
Ciao, per quanto riguarda questo punto non cancellare via "DELETE FROM", ma usa node_delete() perchè drupal salva i dati del nodo in posti diversi a seconda di cosa deve fare.
Quindi i passi dovrebbero essere
M.
--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal
Oramai finisco di rompere le scatole...
devo anche eliminare tutti i nodi di tipo "alunno" prima di fare l'aggiornamento del database,
ho inserito questo codice:
$q = "SELECT nid FROM node WHERE TYPE = 'alunno'";
$res = db_query($q,"alunno");
while ($data = db_fetch_array($res)) {
node_delete($data['nid']);
}
Fatal error: Call to undefined function user_access() in C:\Program Files (x86)\EasyPHP-5.3.3\www\tuscanyre_it\modules\node\node.module on line 2026
Potrebbe essere un problema di permessi?