Profilmező értékének automatikus átvétele

ipeto képe

Sziasztok!

Készítek egy oldalt, ahová a felhasználó regisztrál, profiloldalt készít és dokumentumot tölt fel ennek mindenféle leíró adatával. Ott akadtam meg, hogy a dokumentum adatlapjára, egy cck-mezőbe át kellene venni a felhasználó profiloldalán megadott Teljes név mező értékét (ugyebár ő lesz a dokumentum szerzője).
Mi lenne erre a legjobb megoldás? Egy content reference mező autocomplete beállítással egyfajta eszköz lehet, bár könnyű elrontani. Még találtam a computed field modult, bár örülnék neki, ha ettől egyszerűbben menne.

Drupal verzió: 
aboros képe

ha a core profile.module -al készített profil mezőjét szeretnéd átvenni, ilyesmi kódot kell írjál a default valueba a cck meződnek amivel át szeretnéd vetetni:

global $user; 
$profile = profile_load_profile(&$user);
return array(
  0 => array('value' => $user->profile_realname)
);

ennek hatására ez a cck text mező automatikusan kitöltődik a user profilban lévő realname mező értékével.

felmerül továbbá a kérdés, hogy pontosan mire akarod ezt használni, hiszen a kapcsolat adott, a node szerzőjéről kell a további infó, nem biztos hogy ehhez bármilyen plusz mező is kell. például ha csak egy viewba szeretnéd ezt megjeleníteni vagy filterként, argumentumként használni, akkor szerintem nem kell külön mezőben mégegyszer rögzíteni ezt, ugyis rögzítve van már a profilban és a profil és a node közötti kapcsolatot maga a felhasználó (uid) adja.

0
0

-
clear: both;

ipeto képe

Igen, content_profile modult használok, köszi a megoldást. Egyrészt valóban, különféle view-kba is kell ez az adat, de azért gondoltam külön mezőre, mert akkor is jó lenne megjeleníteni pl. a szerzőt, ha valaki megnézi az adott node-ot.

0
0
aboros képe

content profile -nál ez nem fog működni, core user profile mezőiből tudsz így adatot nyerni. az elv amúgy a node alapú profillal is hasonló, a content_profile -nak van valami függvénye, aminek ha átadod a usert meg a node typeot, visszaadja a betöltött profilt, utána már csak vissza kell adnod a nodeban szereplő mező értékét.

ezzel amúgy az lesz a probléma, hogy ha én szerkesztem utólag a profilomat és átírom ezt az értéket, semmilyen hatással nem lesz a korábban beküldött nodejaimra. ezért nem tárolnám duplán, külön mezőben a kérdéses adat, inkább megjelenítéskor olvasnám ki a profilból minden alkalommal azt.

0
0

-
clear: both;

ipeto képe

Kicsit gondolkodva a dolgon, én is épp most akartam beírni, hogy az profile-mező átvétele inkonzisztenciát okozhat. Tehát ez mégsem járható út, marad valami view-szerű megközelítés.

0
0
DruTa képe

Azért egy értelme lenne annak, ha nem csak az eredményoldal megjelenésekor látszódna. Ugyanis ha pl. egy pár mezős "hirdetési" oldalt tölt ki a felhasználó, jó, ha látja, hogy a neve és pl. a telefonszáma megjelenik majd a találati oldalon, ha viszont a node kitöltésekor nem látszik, csak a views modullal beállított eredmény oldalon, lehet, hogy el sem menti a node-ot, mert szeretné megadni a nevét, telefonszámát, de mivel nem tudja - nincs mező hozzá - úgy gondolja valami hiba van.

0
0