Come rendere private alcune pagine CMS in PrestaShop - Le migliori domande e risposte sulla programmazione?

Posted On: Sep 14, 2018

Categories:

Tags: prestashop , modulo , negozio privato

Con il passare del tempo, l'esperienza di acquisto dal negozio online sta cambiando drasticamente. C'è stato un tempo in cui ci sono solo pochi carrelli della spesa con poche opzioni, ma ora la tendenza è completamente cambiata. L'esempio più grande è che anche i social media come Facebook consentono ai commercianti di vendere i loro prodotti. Mentre i carrelli della spesa consentono ai loro utenti di modificare il codice sorgente e farlo secondo la propria scelta. Quindi i commercianti stanno usando diverse tecniche per ottenere il massimo vantaggio da esso.

L'idea che ora è di tendenza nel mercato è quella di nascondere il negozio al pubblico in generale, cioè vedranno solo una pagina di accesso e dovranno fornire le credenziali per entrarci. Alcuni altri commercianti consentono l'accesso solo a determinate pagine del negozio e bloccano il resto. L'idea è molto utile per quei proprietari di negozi che hanno una forte base di clienti con un inventario limitato. Quindi stanno permettendo l'accesso per acquistare dal negozio solo ai loro utenti VIP.

Per rendere privati i negozi, i commercianti cercano sempre di trovare un modo per rendere privato il loro negozio. Questa funzionalità non è disponibile per impostazione predefinita e gli utenti devono pagare per un modulo di negozio privato e aggiungere alcune modifiche per farlo.

Di seguito, abbiamo elencato alcuni problemi e le loro soluzioni relative al negozio privato.

Domanda n. 1: Ciao, voglio scrivere il mio modulo di negozio privato. Il requisito è che i visitatori vengano reindirizzati alla pagina di accesso quando vogliono visitare il sito web.

Risposta: La soluzione è molto semplice e non è necessario scrivere un nuovo modulo. Solo alcune modifiche di base aiuteranno;

Goto
classescontrollerFrontController.php

Trova la funzione
funzione pubblica init()

Incolla il codice indicato di seguito dopo
parent::init();


if (!$this->context->customer->isLogged() && $this->php_self != 'authentication' && $this->php_self != 'password')
Tools::redirect('index.php?controller=authentication?back=my-account'); 

Domanda n. 2: Ciao! Voglio creare un nuovo modulo per il negozio di pelli privato. Ho esperienza nello sviluppo di moduli. Quindi ho solo bisogno di alcuni suggerimenti su questo.

Risposta: È possibile utilizzare il gancio di intestazione che verrà visualizzato nella pagina di accesso / registrazione. Inoltre devono utilizzare alcuni altri script per nascondere tutte le altre sezioni del sito web.

Domanda n. 3: Ho un negozio PrestaShop con la versione 1.6. Voglio la categoria X che dovrebbe essere accessibile solo al gruppo di clienti Z. Quando l'ho implementato e ho provato ad andare in classe senza login, mi ha dato l'errore. È possibile mostrare un modulo di accesso per questo, in modo che non mi dia l'errore?

Risposta: Puoi farlo modificando il file categorycontroller.php, senza bisogno di terze parti.

 

Individua questo

              if(!$this->category->checkAccess($this->context->customer->id))

              {

                      header('HTTP/1.1 403 Forbidden');

                      header('Status: 403 Forbidden');

                      $this->errors[]=Tools::displayError('You do not have access to this category.');

                      $this->customer_access =false;

              }

E cambialo in:

if(!$this->category->checkAccess($this->context->customer->id))

              {

                      Tools::redirect($this->context->link->getPageLink('authentication'));

              }v

Domanda n. 4: Ciao, voglio nascondere una pagina CMS dalla visualizzazione da parte dei visitatori. Come è possibile?

Risposta: è possibile utilizzare semplice se condizione nel file cms.tpl,

qualcosa di simile

 

{if $logged}

CONTENTS OF CMS.TPL HERE

{/if}

Aggiungere un'altra condizione if

 

invece di {$cms->content} usa questo:

{if $smarty.get.id_cms==40}{if $logged}    {$cms->content}{else}    {l s='access forbidden, please log in first to view this page'}{/if}{else}   {$cms->content}{/if}

Dopo aver fatto ciò, ricompilare il tema (parametri avanzati > scheda delle prestazioni in Back office)

Domanda n. 5: Voglio creare una pagina di registrazione e accesso all'inizio del mio negozio in modo che solo i clienti registrati e loggati possano entrare nel negozio.

Risposta: Ci sono due soluzioni per questo. A pagamento e gratis. Controlla quale può aiutarti.

A pagamento: installa un modulo negozio privato sul tuo negozio che ti consentirà queste funzionalità.

Gratuito: L'altro modo è quello di creare gruppi di clienti. Tutte le persone possono vedere i tuoi prodotti ma non possono visualizzare il prezzo o ordinare il prodotto fino a quando non vengono aggiunti a quel gruppo di clienti consentito. Anche se questa soluzione non può nascondere i prodotti. Quindi la soluzione a pagamento sarà migliore.

Per ulteriori informazioni su questo, vai qui; Scheda: clienti -> gruppi e clienti -> clienti.

Nota:queste domande trovano risposta dai migliori sviluppatori della comunità e non riflettono FMEModules.