Yhoni Posted October 30, 2012 Share Posted October 30, 2012 (edited) Hola compañeros, tengo un problema con el https en Prestashop 1.4.8.2 . La cosa es que funciona todo correctamente pero si activo el SSL para el login de los empleados en el bakcoffice el permanentlink que lleva a la sección "contacto" tambien se activa https con el consiguiente aviso a todos los navegantes de que no se puede comprobar la identidad del certificado ... y tal y tal al no tener un certificado ssl firmado por una entidad de las que trae el sistema operativo por defecto. Mi interés es activar ssl en el login de los empleados para acceder al backoffice pero que no se active en el permanentlink de la sección "contacto. En la pestaña de "Preferencias", en la sección de activar "ssl" explica: Si su hosting permite SSL, puede activar la encripción del SSL (https://) para la identificación de la cuenta del usuario y el proceso de pedido Por lo que no entiendo porque activa el https en el permalink de la sección de "contacto". El archivo del módulo "blockpermanentlinks" que controla los enlaces del header contiene lo siguiente: <!-- Block permanent links module HEADER --> <ul id="header_links"> <li id="header_link_contact"><a href="{$link->getPageLink('contact-form.php', true)}" title="{l s='contact' mod='blockpermanentlinks'}">{l s='contact' mod='blockpermanentlinks'}</a></li> <li id="header_link_contact"><a href="{$link->getPageLink('contact-form.php',false)}" title="{l s='contact' mod='blockpermanentlinks'}">{l s='contact' mod='blockpermanentlinks'}</a></li> <li id="header_link_sitemap"><a href="{$link->getPageLink('sitemap.php')}" title="{l s='sitemap' mod='blockpermanentlinks'}">{l s='sitemap' mod='blockpermanentlinks'}</a></li> <li id="header_link_bookmark"> <script type="text/javascript">writeBookmarkLink('{$come_from}', '{$meta_title|addslashes|addslashes}', '{l s='bookmark' mod='blockpermanentlinks'}');</script> </li> </ul> He probado a cambiar la línea del enlace: <li id="header_link_contact"><a href="{$link->getPageLink('contact-form.php', true)}" title="{l s='contact' mod='blockpermanentlinks'}">{l s='contact' mod='blockpermanentlinks'}</a></li> Por esta otra: <li id="header_link_contact"><a href="{$link->getPageLink('contact-form.php',false)}" title="{l s='contact' mod='blockpermanentlinks'}">{l s='contact' mod='blockpermanentlinks'}</a></li> Pero sin resultado. El el archivo de clases link.php que contiene la la funcion $link->getPageLink contiene: public function getPageLink($filename, $ssl = false, $id_lang = NULL) { global $cookie; if ($id_lang == NULL) $id_lang = (int)($cookie->id_lang); if (array_key_exists($filename.'_'.$id_lang, self::$cache['page']) AND !empty(self::$cache['page'][$filename.'_'.$id_lang])) $uri_path = self::$cache['page'][$filename.'_'.$id_lang]; else { if ($this->allow == 1) { $url_rewrite = ''; if ($filename != 'index.php') { $pagename = substr($filename, 0, -4); $url_rewrite = Db::getInstance()->getValue(' SELECT url_rewrite FROM `'._DB_PREFIX_.'meta` m LEFT JOIN `'._DB_PREFIX_.'meta_lang` ml ON (m.id_meta = ml.id_meta) WHERE id_lang = '.(int)($id_lang).' AND `page` = \''.pSQL($pagename).'\''); $uri_path = $this->getLangLink((int)$id_lang).($url_rewrite ? $url_rewrite : $filename); } else $uri_path = $this->getLangLink((int)$id_lang); } else { $uri_path = ''; if ($filename != 'index.php') $uri_path = $filename; } self::$cache['page'][$filename.'_'.$id_lang] = $uri_path; } return (($ssl AND Configuration::get('PS_SSL_ENABLED')) ? Tools::getShopDomainSsl(true) : Tools::getShopDomain(true)).__PS_BASE_URI__.ltrim($uri_path, '/'); } Ya se me queda grande el código y no se porque se activa el ssl en el enlace del permanentlink de contado. ¿ alguien puede iluminarme ? Gracias a todos. Edited October 30, 2012 by Yhoni (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts