Skip to content

PrestaShop

L'integrazione è semplice utilizzando il modulo da noi fornito. Attualmente, supportiamo PrestaShop 1.7 e versioni successive. L'ultima versione può essere scaricata qui:

https://cdn.fanplayr.com/integrations/prestashop/packages/prestashop-1.2.0.zip

Installazione

  • Accedi al tuo pannello di amministrazione PrestaShop
  • Vai su Moduli e servizi
Prestashop 1.6 Prestashop 1.7
  • Clicca sul pulsante Aggiungi un nuovo modulo in alto a destra

  • Clicca su Scegli un file e seleziona il modulo PrestaShop che hai scaricato.

  • Clicca su Carica questo modulo

Il modulo dovrebbe essere stato aggiunto al tuo negozio PrestaShop. Tuttavia, devi ancora trovarlo e Installarlo.

  • Scorri verso il basso e clicca sulla sezione Prezzi e Promozioni dei moduli

  • Dovresti ora vedere Fanplayr Conversions elencato.
  • Clicca sul pulsante Installa.

  • Una volta installato, dovresti vedere la schermata di configurazione per Fanplayr.
  • Inserisci la tua Account Key e un Session Offer Prefix (vedi sotto)
  • Clicca Salva

Fanplayr dovrebbe ora tracciare utenti e ordini sul tuo sito!

Offerte di sessione

Fanplayr ha la capacità di impedire ai tuoi utenti di utilizzare codici coupon Fanplayr che non sono stati loro forniti tramite il sistema Fanplayr. Per dettagli su come funziona, vedi Offerte di sessione.

Poiché PrestaShop non consente la modifica delle funzionalità principali tramite i moduli, dovrai aggiungere il seguente codice a uno dei tuoi controller.

Prestashop 1.6 e versioni successive:

Il controller può essere trovato qui: controllers/front/ParentOrderController.php

Intorno alla riga 102 troverai il seguente codice:

php
if ($this->nbProducts) {
    if (CartRule::isFeatureActive()) {
        if (Tools::isSubmit('submitAddDiscount')) {
        // INSERIRE IL CODICE QUI

Prestashop 1.7:

Il controller può essere trovato qui: controllers/front/CartController.php

Intorno alla riga 238, all'interno della funzione updatecart() troverai il seguente codice:

php
protected function updateCart()
    {
        // Update the cart ONLY if $this->cookies are available, in order to avoid ghost carts created by bots
        // Aggiorna il carrello SOLO se $this->cookies sono disponibili, per evitare carrelli fantasma creati da bot
        if ($this->context->cookie->exists()
            && !$this->errors
            && !($this->context->customer->isLogged() && !$this->isTokenValid())
        ) {
            if (Tools::getIsset('add') || Tools::getIsset('update')) {
                $this->processChangeProductInCart();
            } elseif (Tools::getIsset('delete')) {
                $this->processDeleteProductInCart();
            } elseif (CartRule::isFeatureActive()) {
                if (Tools::getIsset('addDiscount')) {
                // INSERIRE IL CODICE QUI

Inserisci il seguente codice Fanplayr direttamente sotto questa riga:

php
/*
    ------------------------------------------------------------------
    inizio Offerte di Sessione Fanplayr
*/
$fanplayrSessionOfferPrefix = strtolower(Tools::getValue('fanplayr_prefix', Configuration::get('FANPLAYR_CONFIG_PREFIX')));
@$allowedCoupons = (array)json_decode($_COOKIE['fanplayr_so']);
$code = strtolower(trim(Tools::getValue('discount_name')));
if ( !is_array($allowedCoupons) ) {
    $allowedCoupons = [];
}
// if we have a Session Offer Prefix AND the code entered has this prefix AND the code is not in allowed coupons
// se abbiamo un prefisso per l'offerta di sessione E il codice inserito ha questo prefisso E il codice non è tra i coupon consentiti
if (strlen($fanplayrSessionOfferPrefix) > 0 &&
    strpos($code, $fanplayrSessionOfferPrefix) === 0 &&
    !array_key_exists($code, $allowedCoupons)
) {
    // then we clear the coupon from GET and POST variables
    // allora cancelliamo il coupon dalle variabili GET e POST
    $_POST['discount_name'] = '';
    $_GET['discount_name'] = '';
}
/*
    ------------------------------------------------------------------
    fine Offerte di Sessione Fanplayr
*/

Ora non dovresti essere in grado di utilizzare coupon che iniziano con il Session Offer Prefix impostato durante la configurazione del tuo modulo Fanplayr, a meno che tu non abbia raccolto questo coupon da una campagna Fanplayr.

Test delle offerte di sessione

Per verificare che le offerte di sessione siano state implementate correttamente, prova quanto segue:

  1. Nella configurazione di Fanplayr, imposta un valore per "Session Offer Prefix". Ad esempio, FP_.

  2. Crea un coupon con questo prefisso, ad esempio FP_10OFF.

  3. Applica questo coupon al carrello. Dovrebbe fallire.

  4. Visita l'URL che consente questo coupon, ad esempio:

    https://mystore.com/modules/fanplayr/api.php?coupon&sessionOffer&code=FP_10OFF\

    Questo dovrebbe consentire l'utilizzo del coupon nella sessione corrente.

  5. Applica nuovamente questo coupon. Questa volta dovrebbe essere applicato con successo.

Se il coupon non fallisce al passaggio 3, potresti dover modificare un'altra riga di codice. Prova a cambiare la seguente riga nel tuo metodo "init":

php
parent::init();

in

php
FrontController::init();

Una volta completato ciò, potrebbe essere necessario cancellare la cache, rimuovere il coupon e provare ad applicarlo di nuovo. Tieni presente che se hai già eseguito il passaggio 4, dovrai prima rimuovere tutti i cookie sul sito per cancellare la sessione corrente.