¿Cómo hacer que algunas páginas de CMS sean privadas en PrestaShop - Preguntas y respuestas de programación principales?

Posted On: Sep 14, 2018

Categories: Einkaufswagen & Plattformen

Tags: prestashop , módulo , tienda privada

Con el paso del tiempo, la experiencia de compra desde la tienda online está cambiando drásticamente. Hubo un tiempo en que solo hay unos pocos carritos de compras con solo unas pocas opciones, pero ahora la tendencia ha cambiado por completo. El mayor ejemplo es que incluso las redes sociales como Facebook están permitiendo a los comerciantes vender sus productos. Mientras que los carritos de compras están permitiendo a sus usuarios editar el código fuente y hacerlo de acuerdo con la propia elección. Por lo tanto, los comerciantes están utilizando varias técnicas para obtener la máxima ventaja de ello.

La idea que ahora es tendencia en el mercado es ocultar la tienda al público en general, es decir, solo verán una página de inicio de sesión y deben dar las credenciales para ingresar a ella. Algunos otros comerciantes permiten el acceso solo a ciertas páginas de la tienda y bloquean el resto. La idea es muy útil para aquellos propietarios de tiendas que tienen una sólida base de clientes con un inventario limitado. Por lo tanto, están permitiendo el acceso para comprar desde la tienda solo a sus usuarios VIP.

Para hacer que las tiendas sean privadas, los comerciantes siempre buscan encontrar una manera de hacer que su tienda sea privada. Estas características no están disponibles de forma predeterminada y los usuarios tienen que pagar por un módulo de tienda privada y agregar algunos ajustes él mismo para hacerlo.

A continuación, hemos enumerado algunos problemas y sus soluciones relacionadas con Private Shop.

Pregunta No. 1: Hola, quiero escribir mi propio módulo de tienda privada. El requisito es que los visitantes serán redirigidos a la página de inicio de sesión cuando quieran visitar el sitio web.

Respuesta:La solución es muy simple y no necesita escribir un nuevo módulo. Solo alguna modificación central ayudará;

Goto
classescontrollerFrontController.php

Buscar la función
función pública init()

Pegue el código mencionado a continuación después de
padre::init();


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

Pregunta No. 2: ¡Hola! Quiero hacer un nuevo módulo para tienda de escondite privada. Tengo experiencia en el desarrollo de módulos. Así que solo necesito algunas pistas sobre esto.

Respuesta:Puede usar el gancho de encabezado que se mostrará en la página de inicio de sesión / registro. También tienen que usar algunos otros scripts para ocultar toda la otra sección del sitio web.

Pregunta No. 3: Tengo una tienda PrestaShop con la versión 1.6. Quiero la categoría X que solo debería ser accesible para el grupo de clientes Z. Cuando lo implementé e intenté entrar en clase sin iniciar sesión, me dio el error. ¿Es posible mostrar un formulario de inicio de sesión para esto, para que no me dé el error?

Respuesta: Puede hacerlo modificando el archivo categorycontroller.php, sin necesidad de terceros.

 

Localice esto

              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;

              }

Y cámbielo a:

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

              {

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

              }v

Pregunta No. 4: Hola, quiero ocultar una página cms de CMS para que los visitantes la vean. ¿Cómo es posible?

Respuesta: puede usar la condición simple si en el archivo cms.tpl,

algo así como

 

{if $logged}

CONTENTS OF CMS.TPL HERE

{/if}

Agregar otra condición si

 

en lugar de {$cms->content}, utilice esto:

{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}

Después de hacer esto, vuelva a compilar el tema (parámetros avanzados > pestaña de rendimiento en Back office)

Pregunta No. 5: Quiero crear una página de registro e inicio de sesión al comienzo de mi tienda para que solo los clientes registrados y registrados puedan ingresar a la tienda.

Respuesta:Hay dos soluciones para esto. De pago y gratis. Comprueba cuál puede ayudarte.

Pagado:Instale un módulo de tienda privada en su tienda que le permitirá estas funciones.

Gratis: La otra forma es crear grupos de clientes. Todas las personas pueden ver sus productos, pero no pueden ver el precio o pedir el producto hasta que se agreguen a ese grupo de clientes permitido. Aunque esta solución no puede ocultar los productos. Así que la solución pagada será mejor.

Para obtener más información sobre esto, vaya aquí; Pestaña: clientes -> grupos y clientes -> clientes.

Nota:Estas preguntas son respondidas por los principales desarrolladores de la comunidad y no reflejan FMEModules.