[RISOLTO] Controllare il tipo di campo

2 contenuti / 0 new
Ultimo contenuto
[RISOLTO] Controllare il tipo di campo

Lo sapevo... era una scemenza

<?php
//nome-content-type e nome-campo sono passati dinamicamente dal modulo
$mio_content_type = content_types('nome-content-type');
$mio_campo = 'nome-campo'
if ($mio_content_type['fields'][$mio_campo]['type'] == 'link') { //oppure 'filefield', 'textarea', eccetera
...
}
?>

---
sto cercando di creare nodi in maniera programmatica.
La procedura che ho approntato sinora fa di tutt'erba un fascio riempiendo il valore $campo[0]['value']
Ora, questo va bene per tutti i campi che hanno la struttura "classica" del textfield (ad es il campo "Title"), mentre per altri tipi di campo le chiavi sono diverse: ad esempio, in un campo di tipo "link" una delle chiavi è ['url'] e non ['value'].
Quindi dovrei controllare di che tipo è un campo prima di assegnare i vari valori alle varie chiavi.
Per il momento ho risolto controllando se il campo ha un certo nome; questo ovviamente è poco pratico perchè mi costringerebbe ad avere un modulo per ogni content type. Bisogna generalizzare!
Arrivo alla domanda:
come diavolo faccio, se è possibile, a controllare di che tipo è un campo?
Il valore che cerco dovrebbe essere qualcosa tipo link, file, textfield, textarea, select, eccetera.
ho provato con $field[0][#type], ma mi restituisce sempre "content_field" indipendentemente dal tipo di campo.
Non sono riuscito a trovare info per D6, solo per D7 con i fields in core...che non si possa fare?

Grazie in anticipo!

PS: scusate gli orrori e la mancanza di codice, al momento non ho accesso ai file e vado a memoria.

Classico situazione che la risposta viene da sola 20 secondi dopo che fai la domanda. Ovviamente, però, se non fai la domanda...
Buono a sapere comunque.

John

Più imparo, più dubito.