Muy buenas,
en Breezingforms, en enviar piezas de los formularios, necesito poder acceder a un campo que estoy utilizando de user profiles ¿se pueden utilizar estos campos de la misma manera que los de usuario?
por ejemplo:
$user =& JFactory::getUser();
$nombre =$user->name;
muchas gracias.
URL del sitio: https://www.webempresa.com
Hola Jose,
para añadir campos de usuario estás usando alguna extensión como Community Builder??
En princpio no podrías acceder con el código que has pegado a los campos de usuario, pero lo que si podrías hacer es obtener el id de usuario así:
$user =& JFactory::getUser();
$id = $user->id;
y después hacer una consulta a la tabla de la BBDD que almacena estos campos de usuario así:
$db = JFactory:getDBO();
$db->setQuery("select * from ... where user_id = " . $id);
$obj = $db->loadObject();
Por cierto, la URL que has de poner es la de tu sitio, no la de webempresa.com..
Saludos!
Muchas gracias David,
estoy intentando crear una "Extranet" dedicada sólo al personal de mi empresa. No es externa. Si me indicáis alguna manera de poner la dirección de forma que sólo vosotros podáis verla lo haré gustoso.
Gracias de nuevo.
Saludos.
Buenas de nuevo David,
según veo, la manera de acceder a los datos del user profiles sería algo así como:
$db = JFactory:getDBO();
$db->setQuery("select * from user_profiles where profile_key = 'profile.favoritebook' and user_id = " . $id);
$obj = $db->loadObject();
no se si la sintaxis es correcta... pero ahora, necesitaría acceder $obj y extraer el valor del campo profile_value
¿como hago eso? ¿sería algo así?
$valorquequiero = $obj->profile_value ???
muchas gracias.
Hola Jose, un par de cosas que he visto:
Normalmente las tablas en Joomla empiezan por jos_, pero puede ser cualquier otro preijo, el API de Joomla te permite usar este comodin #__ que internamente lo sustituye por el prefijo que sea, así:
$db->setQuery("select * from #__user_profiles where profile_key = 'profile.favoritebook' and user_id = " . $id);
En obj se guarda un objeto con tantas propiedades como campos tiene el resultado de la búsqueda select, por tanto, si en la select se devuelve un campo profile_value, efectivamente deberías de hacerlo así:
$valorquequiero = $obj->profile_value ;
Saludos!
Muchas gracias David,
luego lo probaré y te cuento.
Gracias de nuevo.