Sziasztok,
Az user profiladatait kibővítettem plusz fieldekkel, amiket különböző modulok hoztak létre, pl. cck_phone, countries, stb.
A sima text, integer típusú mezők értékeit tudom módosítani, a kérdésem az lenne, hogy hogyan tudom kódból módosítani ezeknek az egyedi fieldeknek az értékeit?
A country esetében egy ehhez hasonló struktúrában van letárolva az érték:
$field = field_get_items("user", $acc, "field_country"); $view = $field[0]; ( [iso2] => HU [country] => stdClass Object ( [cid] => 97 [iso2] => HU [iso3] => HUN [name] => Hungary [official_name] => Republic of Hungary [numcode] => 348 [continent] => EU [enabled] => 1 [language] => und ( ) ( ) ) [value] => HU [safe_value] => Hungary [safe] => Hungary )
Természetesen nem szeretném módosítani kézzel az egész tömböt, hanem valamilyen függvényt szeretnék meghívni az új értékkel, ami a megfelelő helyre beírja az értékeket.
Sima text típusú field esetén (ami szerintem baromi gagyi megoldás, de ezt írják a neten kismillió helyen), így módosítom az értéket:
Odáig eljutottam, hogyha módosítani szeretném, akkor lekérdezem a típusát:
$res = db_query("SELECT id, type, module, data FROM field_config WHERE field_name = :field_name", array(':field_name' => $field))->fetchAll(); $res = $res[0];
De hogy ezután ennek az információnak a birtokában hogyan tudom módosítani, azt már nem tudom.
Ha valaki tudja a megoldást, annak megköszönném, ha segítene.
Köszönöm,
Krisztián