Back to top

Autore Topic: [RISOLTO] Jfactory  (Letto 9986 volte)

Offline daffy_dark

  • Esploratore
  • **
  • Post: 66
  • Sesso: Femmina
    • Mostra profilo
[RISOLTO] Jfactory
« il: 24 Feb 2010, 17:59:37 »
ciaoo,scusate l'intromissione e l'ennesimo post su jfactory ma proprio non riesco risolvere il mio problema nonostante abbia letto in giro in questo forum e in internet i vari post...
allora io ho un file php mio accessibile cliccando 1 bottone o in 1 form in 1 articolo o direttamente inserendolo come wrapper in 1 voce di menu (quindi come url mettero nomefile.php, come suggerito in 1 post qui presente nel forum) da quale dovro' prelevare i dati di un utente loggato e fare alcune operazioni...
ho letto che bisogna usare Jfactory:: getSession () o getUser e ho anche capito che questa classe dovrebbe essere a disposizione e quindi non devo effettuare alcun import...
ma indovinate? mi da l'errore: Fatal error: Class 'JFactory' not found in /percorso file...
sono disperata.. non so come risolvere il problema per prelevare questo maledetto id dell'utente loggato...
premetto che il mio file l'ho posizionato tranquillamente via ftp in finestra principale, quindi dove c'è index e le varie cartelle components etc ho provato importare la classe factory ma nulla e copiarla anche dove si trova il mio file... non mi va...
aiutiniii?!? grazieeee :P :-[
« Ultima modifica: 25 Feb 2010, 11:34:53 da daffy_dark »

mau_develop

  • Visitatore
Re:Jfactory
« Risposta #1 il: 24 Feb 2010, 18:08:30 »
premetto che non uso ne userò mai un modulo wrapper :)...

ma sei sicura che uscendo dall'mvc di joomla tu abbia a disposizione ugualmente classi e metodi?

M.

Offline daffy_dark

  • Esploratore
  • **
  • Post: 66
  • Sesso: Femmina
    • Mostra profilo
Re:Jfactory
« Risposta #2 il: 25 Feb 2010, 09:10:45 »
infatti ho usato il wrapper solo per provare come avevo letto in 1 altro post qui dentro...per il resto lo evito alla grande...
per aver a disposizione le classi ho appunto chiesto perchè non lo so, mi era sembrato di capire cosi...
(qui: http://docs.joomla.org/JFactory  che dice: This class is always available and does not need to be imported into your code.)
forse mi son dilungata sulla spiegazione, cmq volevo proprio sapere come fare... se devo importare le classi e quindi mi serve la sintassi dell'import o non so come devo fare eheh
graziee

mau_develop

  • Visitatore
Re:Jfactory
« Risposta #3 il: 25 Feb 2010, 09:42:09 »
no, ...mument... :)

è sempre disponibile se resti nel "giro" Joomla, nel suo mvc, perchè te la ritrovi istanziata dalle classi che estendi.

Forse col wrapper esiste ma è da usare in altro modo... bo' penso che lo scopri facilmente guardando cosa fa il wrapper, se tira dentro qualcosa del framework che ti può essere utile.

M.

Offline daffy_dark

  • Esploratore
  • **
  • Post: 66
  • Sesso: Femmina
    • Mostra profilo
Re:Jfactory
« Risposta #4 il: 25 Feb 2010, 10:56:27 »
ah ok allora avevo intuito bene che al di fuori del mvc le classi non sono disponibili...
quindi avevo provato un wrapper nella remotissima speranza che rimanesse "all'interno di joomla" (ovviamente ammetto che non è molto tempo che uso joomla quindi ne ho ancora da imparare).
allora, riassumendo, se devo fare un mio file.php non verrà minimamente considerato e non riuscirò mai a recuperare l'id dell'utente loggato che mi serve...nemmeno se faccio gli import delle classi che mi servono...
(eh si alla fine mi fa: www.nomesito.it/miofile.php)...
uhm mi documento un po' sul wrapper e vedo di risolvere questo problema   :'(  :'(  :'(
graziee

mau_develop

  • Visitatore
Re:Jfactory
« Risposta #5 il: 25 Feb 2010, 11:27:07 »
..dipende da cosa stai facendo.
La filosofia del wrapper è:
"ho qs applicazione sviluppata in php che non vorrei riscrivere ma usare all'interno di Joomla senza causarne malfunzionamenti."

se devi fare qualcosa ex-novo o devi semplicemente implementare due righe di codice ti conviene approcciare il discorso dell'mvc, magari plagiando qualcosa di già scritto per le prime volte...

M.

Offline daffy_dark

  • Esploratore
  • **
  • Post: 66
  • Sesso: Femmina
    • Mostra profilo
Re:Jfactory
« Risposta #6 il: 25 Feb 2010, 11:33:40 »
eh si dovevo solo reperire l'id utente loggato per effettuare una stupida modifica su una mia tabella nel database...
pero' ce l'ho fattaaaaa XD
ho trovato 1 post che faceva al caso mio...
dovevo solo fare degli import correttiii quindi i seguenti:

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();


grazie ancora  ::)

Offline petrella

  • Nuovo arrivato
  • *
  • Post: 8
    • Mostra profilo
Re:[RISOLTO] Jfactory
« Risposta #7 il: 28 Apr 2010, 17:31:23 »
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:
Codice: [Seleziona]
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');
« Ultima modifica: 28 Apr 2010, 17:36:26 da petrella »

Offline angelo91

  • Esploratore
  • **
  • Post: 70
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Jfactory
« Risposta #8 il: 25 Apr 2013, 11:27:39 »
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:
Codice: [Seleziona]
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');


Ciao volevo sapere come hai risolto. Io ho provato mettendo come prefisso ../ (visto che il file è in una directory del tipo root/myDirectory) ma non funziona. Come devo fare ?

Non c'è cosa più bella che donare un consiglio e non ricevere niente in cambio o semplicemente un grazie.

Offline angelo91

  • Esploratore
  • **
  • Post: 70
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Jfactory
« Risposta #9 il: 25 Apr 2013, 11:31:20 »
Mi auto rispondo :D


Codice: [Seleziona]
define('JPATH_BASE', "../");

 ;D
Non c'è cosa più bella che donare un consiglio e non ricevere niente in cambio o semplicemente un grazie.

 



Web Design Bolzano Kreatif