Back to top

Autore Topic: JFactory::getUser() all'interno di un file componente di amministrazione  (Letto 11420 volte)

Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
bene vuole dire che passa di li, in quale file e funzione lo hai inserito?
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
il file è sempre quello, contents.php.

All'interno di:
class AdsmanagerTableContents extends JTable{

la funzione è:
function bindContent($post,$files,$conf,$model,$plugins)    {ecc

all'interno del ciclo for dove vengono definiti i vari campi e la loro tipologia
foreach($fields as $field)        { ecc


Offline simone83

  • Appassionato
  • ***
  • Post: 362
  • Sesso: Maschio
    • Mostra profilo
ok, dove hai provato a mettere quelle 3 righe che avevi scritto ll'inizio? e come le stavi provando ad utilizzare
BRAINCODE
Da Psd a Joomla - Sviluppo componenti joomla - SEO con Joomla
x-brain

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
le mie tre righe cioè:
$utente = JFactory::getUser(); // in base utente collegato
$utenteusername = $utente->get('username');
$utenteid = $utente->id;
le ho inserite all'inzio del file.

Poi all'interno di
else if ($field->type == "file")    {

ho aggiunto un altro if per selezionare un determinato campo
if ($field->name == "nomemiocampofile") {

e all'interno del percorso del file di salvataggio ho richiamato la variabile $utenteid


Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
non è  che quelle righe si trovano al di fuori del metodo che le usa?
se hai definito la variabile al di fuori del metodo devi definirla come proprietà della classe ($this->utente) per potervi accedere al di fuori dell'ambito in cui è definita, se la hai definita al di fuori della classe non puoi accedervi...

ciao,
marco

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
Ho fatto le modifiche con $this->utente e non funziona.

Ho inserito le tre righe dentro if ($field->name == "nomemiocampofile") {
e non funziona nemmeno

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
ovviamente $this->utente era solo l'indicazione del formato di una proprietà, non una formula magica, quindi andava dichiarato ed inizializzato prima di poter essere usato.


mi sembra strano che il codice di recupero utente non funzioni all'interno di una classe nel framework di joomla.


scusa la domanda molto diretta, ma hai una minima idea di che cosa stai facendo o stai andando assolutamente a caso?
ovvero hai qualche conoscenza di programmazione?


ciao
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
Ragazzi ho risolto. Dopo posterò la soluzione

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
Ho risolto con...

$utente = JFactory::getUser(); // in base utente collegato
$utenteusername = $utente->get('username');
$utenteid    = (int) $utente->get('id');

Navigando tra i vari file php dell'amministrazione ho visto come l'id user veniva richiamato in questo modo e con una piccola modifica ho risolto!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
non c'è alcuna differenza tra questo codice e quello postato all'inizio a parte il fatto che $utenteid ora è un intero invece che, probabilmente, una stringa, e se l'id ti serve per il nome della directory devi effettuare nuovamente il cast a stringa.
l'errore era, a mio avviso, da un'altra parte.


ciao

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif