neron Posted November 5, 2011 Share Posted November 5, 2011 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 More sharing options...
4webs.es Posted November 6, 2011 Share Posted November 6, 2011 Creo que te estás complicando bastante, no toques los php, mejor modifica los tpl, donde te aparecen los precios pon una condición para que solo aparezcan cuando estés logueado... Link to comment Share on other sites More sharing options...
neron Posted November 7, 2011 Author Share Posted November 7, 2011 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 More sharing options...
Prescol Posted November 7, 2011 Share Posted November 7, 2011 ¿Obligas a recompilar a Smarty cuando modificas los tpl? Link to comment Share on other sites More sharing options...
neron Posted November 7, 2011 Author Share Posted November 7, 2011 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 More sharing options...
neron Posted November 7, 2011 Author Share Posted November 7, 2011 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 More sharing options...
Recommended Posts