Soy una novata en prestashop y me han encargado hacer una tienda.
Acabo de actualizar la versión de mi tienda de prestahop a la v.1.4.2.5, la actualización ha ido bien y la tienda se ve, pero cuando intento acceder al back-office me aparece el siguiente error:
Fatal error: Call to a member function getPageLink() on a non-object in /usr/home/mitienda.com/web/classes/Tools.php on line 88
Cuando miro el archivo tools.php esto es lo que me aparece de la línea 80 a la 95
Código PHP:
/**
* Redirect url wich allready PS_BASE_URI
*
* @param string $url Desired URL
*/
public static function redirectLink($url)
{
if (!preg_match('@^https?://@i', $url))
{
global $link;
if (strpos($url, __PS_BASE_URI__) !== FALSE && strpos($url, __PS_BASE_URI__) == 0)
$url = substr($url, strlen(__PS_BASE_URI__));
$explode = explode('?', $url);
$url = $link->getPageLink($explode[0]);
if (isset($explode[1]))
$url .= '?'.$explode[1];
}
header('Location: '.$url);
exit;
}
En la copia de seguridad que realice antes de actualizar, en el antiguo archivo tools.php ponía esto:
Código PHP:
/**
* Redirect user to another admin page
*
* @param string $url Desired URL
*/
static public function redirectAdmin($url)
{
header('Location: '.$url);
exit;
}
static public function getHttpHost($http = false, $entities = false)
{
$host = (isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST']);
if ($entities)
$host = htmlspecialchars($host, ENT_COMPAT, 'UTF-8');
if ($http)
$host = (Configuration::get('PS_SSL_ENABLED') ? 'https://' : 'http://').$host;
return $host;
}
¿Podríais ayudarme? Yo de php no entiendo nada
Muchas gracias.