Jump to content

Recommended Posts

Buenos días,

 

Me han encalomado un proyecto ya empezado con prestashop en el cual es necesaria la autenticación del usuario para poder ver los productos de la tienda. Bien, he estado mirando otras tiendas realizadas con anterioridad por mi y no es necesario dicho login para ver el producto. No encuentro la opción para deshabilitarlo.

 

Alguien puede ayudarme?

 

Version presta: 1.6.0.9

 

Gracias y un saludo!

Link to comment
Share on other sites

Hola i gracias por responder!

 

He encontrado la linea de codigo que me indicas pero no en los archivos que me comentas. Dicha linea la he encontrado en los siguientes archivos:

 

AddressController.php

AddressesController.php

DiscountController.php

HistoryController.php

IdentityController.php

MyAccountController.php

OrderDetailController.php

OrderFollowController.php

OrderReturnController.php

OrderSlipController.php

 

He probado de ponerlo a false, pero ninguno de estos parece que sea el indicado... Entiendo que son para los datos del usuario y para el carrito de la compra, no es asi?

Link to comment
Share on other sites

Por otro lado, he intentado activar el modo catalogo y desactivar la opcion mostrar precio, pero ahun así me muestra siempre los precios :S

Tambien he desactivado la opcion de mostrar precios para los grupos de usuarios pero no me hace caso...

Alguna solucion?

 

Gracias!!

Link to comment
Share on other sites

Es posible que tengas algun condicional

 

Hola i gracias por responder!

 

He encontrado la linea de codigo que me indicas pero no en los archivos que me comentas. Dicha linea la he encontrado en los siguientes archivos:

 

AddressController.php

AddressesController.php

DiscountController.php

HistoryController.php

IdentityController.php

MyAccountController.php

OrderDetailController.php

OrderFollowController.php

OrderReturnController.php

OrderSlipController.php

 

He probado de ponerlo a false, pero ninguno de estos parece que sea el indicado... Entiendo que son para los datos del usuario y para el carrito de la compra, no es asi?

 esos archivos no tienen nada que ver con la visualizacion del producto, asi que dejalos como estaban, son archivos relacionados con el proceso de compra y acceso e identidad del usuario registrado

Link to comment
Share on other sites

He comprobado y no hay módulos afectando, en cambio si que hay una funcion init en el ProductController:

Disculpa mi ignorancia pero no veo donde puede estar el fallo...

 

public function init()
{
parent::init();

if ($id_product = (int)Tools::getValue('id_product'))
$this->product = new Product($id_product, true, $this->context->language->id, $this->context->shop->id);

if (!Validate::isLoadedObject($this->product))
{
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
$this->errors[] = Tools::displayError('Product not found');
}
else
{
$this->canonicalRedirection();
/*
* If the product is associated to the shop
* and is active or not active but preview mode (need token + file_exists)
* allow showing the product
* In all the others cases => 404 "Product is no longer available"
*/
if (!$this->product->isAssociatedToShop() || !$this->product->active)
{

if (Tools::getValue('adtoken') == Tools::getAdminToken('AdminProducts'.(int)Tab::getIdFromClassName('AdminProducts').(int)Tools::getValue('id_employee')) && $this->product->isAssociatedToShop())
{
// If the product is not active, it's the admin preview mode
$this->context->smarty->assign('adminActionDisplay', true);
}
else
{
$this->context->smarty->assign('adminActionDisplay', false);
if ($this->product->id_product_redirected == $this->product->id)
$this->product->redirect_type = '404';

switch ($this->product->redirect_type)
{
case '301':
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected));
break;
case '302':
header('HTTP/1.1 302 Moved Temporarily');
header('Cache-Control: no-cache');
header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected));
break;
case '404':
default:
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
$this->errors[] = Tools::displayError('This product is no longer available.');
break;
}
}
}
elseif (!$this->product->checkAccess(isset($this->context->customer) ? $this->context->customer->id : 0))
{
header('HTTP/1.1 403 Forbidden');
header('Status: 403 Forbidden');
$this->errors[] = Tools::displayError('You do not have access to this product.');
}
else
{
// Load category
$id_category = false;
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == Tools::secureReferrer($_SERVER['HTTP_REFERER']) // Assure us the previous page was one of the shop
&& preg_match('~^.*(?<!\/content)\/([0-9]+)\-(.*[^\.])|(.*)id_(category|product)=([0-9]+)(.*)$~', $_SERVER['HTTP_REFERER'], $regs))
{
// If the previous page was a category and is a parent category of the product use this category as parent category
$id_object = false;
if (isset($regs[1]) && is_numeric($regs[1]))
$id_object = (int)$regs[1];
elseif (isset($regs[5]) && is_numeric($regs[5]))
$id_object = (int)$regs[5];
if ($id_object)
{
$referers = array($_SERVER['HTTP_REFERER'],urldecode($_SERVER['HTTP_REFERER']));
if (in_array($this->context->link->getCategoryLink($id_object), $referers))
$id_category = (int)$id_object;
elseif (isset($this->context->cookie->last_visited_category) && (int)$this->context->cookie->last_visited_category && in_array($this->context->link->getProductLink($id_object), $referers))
$id_category = (int)$this->context->cookie->last_visited_category;
}

}
if (!$id_category || !Category::inShopStatic($id_category, $this->context->shop) || !Product::idIsOnCategoryId((int)$this->product->id, array('0' => array('id_category' => $id_category))))
$id_category = (int)$this->product->id_category_default;
$this->category = new Category((int)$id_category, (int)$this->context->cookie->id_lang);
if (isset($this->context->cookie) && isset($this->category->id_category) && !(Module::isInstalled('blockcategories') && Module::isEnabled('blockcategories')))
$this->context->cookie->last_visited_category = (int)$this->category->id_category;
}
}
}

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...