Jump to content

Richiamare ed utilizzare funzioni native di PS 1.7.7 in file esterni


Recommended Posts

Buongiorno a tutti.

Vorrei sapere cosa va incluso in un file "esterno" PHP per poter usufruire delle librerie di PS.
Ad es. nella directory del sito, se creassi una sottodirectory "TESTING" con all'interno un file PHP che mi si deve interfacciare col DB, se volessi usare le funzioni native di PS, cosa dovrei includere?

 

ad esempio, in PS 1.6, per verificare il login, utilizzavo
        include_once('../../../config/config.inc.php');
        include_once('../../../config/settings.inc.php');
        include_once('../../../classes/Cookie.php');

 

Link to comment
Share on other sites

Ciao,

su PS 1.7 io l'ultima volta che mi è servito ho usato:

require_once '../config/config.inc.php';
include(_PS_ROOT_DIR_ . '/init.php');

ero in una directory dentro l'installazione principale di PS.

Buona giornata,
Federica

Link to comment
Share on other sites

Grazie mille per le risposte.

Effettivamente pare funzionare, solo che non ho gli stessi riscontri.

Ad es. richiedendo $cookie->id_employee non mi passa nulla
Può dipendere da qualche nuova restrizione su PS1.7 rispetto alla 1.6?

Dove posso vedere queste variazioni? (scusatemi l'off-topic)

Link to comment
Share on other sites

Ciao,

sono cambiate alcune cose dalla 1.6 alla 1.7: ora è (quasi) tutto in Context::getContext(); quindi ti consiglio di crearti una variabile $context = Context::getContext(); e poi usare quella, per esempio $cookie dovrebbe essere $context->cookie.

In generale se guardi la classe Context scopri un bel po' di cose.

Buon pomeriggio,
Federica

Link to comment
Share on other sites

Ottima scoperta questa.
Purtroppo però employee mi da sempre NULL come valore... non riesco a capirne il motivo.

Al contempo, confermo che includere Cookie o passare da Context->cookie restituirebbe lo stesso vettore (almeno, non credo sia stato un caso, ma a me mi ha dumpato lo stesso array).

Link to comment
Share on other sites

Ho appena risolto così facendo:

 

require_once ('../../config/config.inc.php');
include('../../init.php'); 
include_once('../../classes/Cookie.php');
$cookie = new Cookie('psAdmin');			//bisogna essere ADMIN per leggere completamente "employee"

$id_employee = $cookie->id_employee;	

 

l'ho appena dedotto da qui: http://doc.prestashop.com/display/PS17/Managing+Cookies

Edited by Oscarrafone (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...