vocabolario creato con termini presi da un campo cck
ciao a tutti
allora, ho bisogno di fare questo:
1) scheda autore, con nome, descrizione, sito.
2) scheda prodotto, con vari campi per i prodotti più un campo che peschi il nome tra gli autori già inseriti, con un menù di scelta a discesa.
es. ho inserito le schede di mario e luigi, quando vado ad inserire il prodotto mi apparirà nel campo "autore" mario e luigi e potrò scegliere quale selezionare...
sto provando CCK Taxonomyg Fields e Taxonomy Fields... creando un vocabolario autore e poi inserendo i termini pescati dalla scheda autore... per poi riproporli nella scheda prodotto... non mi funziona e non so neanche se è il metodo giusto...
qualche idea?
grazie

Risposte
Puoi farlo facilmente
Puoi farlo facilmente utilizzando come tipologia del campo CCK "node reference".
Gli puoi dire che vuoi poter scegliere con un select tra tutti i nodi del tipo "autore".
Io l'ho fatto su questo sito, collegando autori e opere:
http://www.fighillearte.com/
sembra facile...
innanzitutto grazie.
sembra proprio quello che fa per me.
così ho creato il campo "node reference" e mi appare nella scheda prodotto con i nomi degli autori prelevati dalla scheda autore...
il problema è che quando provo a pubblicare l'input diventa rosso e non mi fa andare avanti... :-(risolto, non gli piaceva il nome del campo, cancellato e rifatto funziona!
ehm
ma poi per listare nella scheda autore tutte le opere?
grazie
Quando feci quel sito
Quando feci quel sito riscontrai il tuo stesso problema, non era possibile fare il collegamento inverso durante la visualizzazione... cioè quando si mostra il nodo "riferito" non si vedono tutti i nodi che lo "riferiscono"...
Ti passo due discussioni sull'argomento, che devi leggere, così fai sapere anche a me se adesso la soluzione è stata trovata :-)
http://drupal.org/node/60756
http://drupal.org/project/nodereferrer
Nel mio caso come vedi avevo scritto un blocco con del codice php che li va a prendere e li mostra. Se ti può essere utile:
[code]
<?phpif (arg(0) == 'node' and is_numeric(arg(1)) and arg(2) == FALSE) {
$node = node_load(arg(1)); // cached
if ($node->type == 'autore') {
$result = db_query('SELECT nid FROM {content_type_opera} WHERE field_autore_nid = %d ORDER BY nid', $node->nid);
print '<ul>';
while($row = db_fetch_object($result)) {
$nodofiglio = node_load($row->nid);
print '<li><a href="/node/'.$nodofiglio->nid.'">'.$nodofiglio->title.'</a></li>';
}
print '</ul>';
}
}
?>
ho risolto usando gli
ho risolto usando gli arguments, più due righe di codice:
if ($type == 'block' && arg(0) == 'node' && is_numeric(arg(1))) {$nid = arg(1);
$args[] = $nid;
}
return $args;
mi è tornato il problema del input che diventa rosso nella lista generata da node reference...
come prima ho cancellato il campo e reinserito ed è tutto tornato apposto, però questa cosa mi lascia una certa ansia.