Joomla.it Forum
Non solo Joomla... => Sviluppo => : Bagnarea 16 Mar 2010, 10:47:35
-
Salve a tutti,
dovrei creare una pagina in PHP, richiamata tramite un link, che compie determinate operazione in base all'utente loggato. Qualcuno mi sa dire come recuperare tali informazioni(l'utente) in joomla? Quali librerie devo includere?
Grazie
Mille
-
Io ho usato questo codice:
<?php
$user = JFactory::getUser();
$username = $user->username;
$id = $user->id;
$name = $user->name;
?>
Per inserire il codice sopra riportato all'interno di un articolo joomla, ho usato JUMI mi pare (che consente di inserire tuo codice in un normale articolo).
Poi ho inviato i dati ad un'applicazione esterna (nel mio caso è stato così, nel tuo non saprei), utilizzando un form con metodo post e i campi in hidden.
Poi la pagina che riceve i dati, li preleva in post e poi fa quello che deve fare...
Ciao.
-
Grazie Mille!
-
Io ho usato questo codice:
<?php
$user = JFactory::getUser();
$username = $user->username;
$id = $user->id;
$name = $user->name;
?>
Per inserire il codice sopra riportato all'interno di un articolo joomla, ho usato JUMI mi pare (che consente di inserire tuo codice in un normale articolo).
Poi ho inviato i dati ad un'applicazione esterna (nel mio caso è stato così, nel tuo non saprei), utilizzando un form con metodo post e i campi in hidden.
Poi la pagina che riceve i dati, li preleva in post e poi fa quello che deve fare...
Ciao.
io ho provato le righe di codice e farle stampare con una echo ma non stampa nulla... devo mica includere qualcosa?
-
ciao simonDekkers,
sono quelle linee che debbono essere incluse all'interno di un template o di un altro file processato da joomla: componente/modulo/plugin.
ciao,
marco
-
ho provato ad importare:
// no direct access
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.component');
ma nn risponde al metodo ::getuser()
potreste specificarmi le righe di codice da includere?grazie mille...
-
ma dove è che vorresti mettere queste linee? non puoi metterle al di fuori del framework di joomla! (non ti bastano degli include)
ciao,
marco
-
dentro al custum script del componente jumi
perche' devo riuscire a salvare l'id dell utente corrente che clicca sull articolo che richiama il componente jumi...
id mi serve per fare delle query a delle tabelle...
come posso memorizare l'id dell utente...grazie
-
Risolto il mio problema...scusate il disturbo.
Ha funzionato il codice di bobbix senza includere niente:
<?php
$user = JFactory::getUser();
$username = $user->username;
$id = $user->id;
$name = $user->name;
?>
-
ho scritto così in un artocolo senza formattazione...
<?php
$user = JFactory::getUser();
$username = $user->username;
$id = $user->id;
$name = $user->name;?>
<? php
echo $user $username $id $name
?>
come mai non funziona? ma devo scrivere
<?php
$user = JFactory::getUser();
$username = $user->username;
$id = $user->id;
$name = $user->name;?>
nel template sopra il tag body????
-
dunque ho fatto delle prove con juni ....
se creo con jumi una cosa del genere
<?php
if ($user->name == '')
echo "unknown, not logged, friend";
else
echo $user->name;
?>
e poi creo una nuova voce del menu e gli do come tipi jumi e mando il link a quello che ho appena creato lo script funziona
se lo stesso script lo metto in jumi come componente no
se lo stesso lo includo nel template non funziona
se lo includo in un articolo (scritto senza formattazione non funziona)
ma potrebbe essere un problema del modulo di login?
-
ciao,
mi sa che hai dimenticato $user = JFactory::getUser();
-
ma come mai se lo scrivo nell'articolo senza formattazione quando faccio applica o salva me lo cancella?
-
molto probabilmente dipende dalle impostazioni dell'editor.
ciao.
-
si ma la cosa che non capisco è che se lo modifico dal database lo salva ma poi non lo visualizza
-
utilizzare il tag code...
grazie
-
se intendi <code></code> non funziona!
-
Ho anche io la necessità di recuperare l'id dell'utente logato. Credo che il codice utilizzato sia corretto ma ho un problema, la mia index si trova in una sottocartella e credo che sia questo il motivo per cui il codice non funziona.
Io uso apache, nella cartella htdocs ho la cartella di joomla, ora la mia index si trova in joomla/templates/mio_template/index.php.
E' possibile che il codice non funzioni perchè da tale posizione la index non vede la corretta JPATH_BASE? Come potrei modificarlo?
Codice:
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require('libraries/joomla/factory.php');
// initialize the application
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$user =& JFactory::getUser();
$user->get('id');