Jump to content

[Solucionado] Mostrar precios solo si se esta logeado


Recommended Posts

Hola, he configurado la tienda para que solo muestre precios cuando se esta logeado, lo he conseguido en el inicio (en popular products y productos destacados de inicio), pero no consigo cuando listas los productos de las categorias (product-list.php)

 

Para quitar los precios he seguido este metodo encontrado gogeleando un poco:

 

Edit the file classes\FrontController.php

 

find

'PS_CATALOG_MODE' => (bool)Configuration::get('PS_CATALOG_MODE')

replace with

//'PS_CATALOG_MODE' => (bool)Configuration::get('PS_CATALOG_MODE')

 

find

$this->iso = $iso;

$this->setMedia();

insert next code right after if (isset($cookie)) {

$result = Db::getInstance()->getValue('SELECT max(id_group) FROM '._DB_PREFIX_.'customer_group WHERE id_customer = '.(int)self::$cookie->id_customer);

$idgroup = $result; }

if ($idgroup > 0)

{$catalog_mode = false;}

else

{$catalog_mode = true;}

$smarty->assign(array('PS_CATALOG_MODE' => $catalog_mode));

 

 

 

He encontrado que quitando este trozo de codigo en tools/smarty/compile desaparece el precio, pero logicamente ni cuando se esta logeado sale, por lo cual deduzco que poniendole algun condicional saldria cuando se esta logeado. He probado con cosas como if ($logged) y nada, alguien me puede ayudar? Pongo el trozo de codigo que actual en el listado de productos.:

 

 

if (isset($_smarty_tpl->tpl_vars['product']->value['show_price'])&&$_smarty_tpl->tpl_vars['product']->value['show_price']&&!isset($_smarty_tpl->getVariable('restricted_country_mode',null,true,false)->value)){?><span class="price">

 

<?php if (!$_smarty_tpl->getVariable('priceDisplay')->value){?><?php echo Product::convertPrice(array('price'=>$_smarty_tpl->tpl_vars['product']->value['price']),$_smarty_tpl);?>

<?php }else{ ?>

 

<?php echo Product::convertPrice(array('price'=>$_smarty_tpl->tpl_vars['product']->value['price_tax_exc']),$_smarty_tpl);?>

 

<?php }?></span><br />

 

 

 

<?php }

 

 

 

gracias de antemano

Link to comment
Share on other sites

gracias por contestar, pero en mi version de presta 1.4.5 los tpl no llevan ese codigo, o si lo llevan modificas y no ocurre nada, solamente hace cambios modificando esos archivos... la verdad no entiendo por que.

Link to comment
Share on other sites

a que te refieres prescol?, estoy un poco verde con el nuevo funcionamiento de prestashop, me quede en versiones anteriores.

 

Si yo borro el codigo completo de product-list.tpl no afecta para nada. solo hace cambios como comente en los archivos de la carpeta compile

Link to comment
Share on other sites

Solucionado!!, Gracias prescol por ponerme en la pista, ya entiendo el funcionamiento forzando compilacion compila las tpl en vivo, luego ya se desactiva y listo, ahora si funciona el condicional, muchas gracias chicos!

Link to comment
Share on other sites

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