Reinstalar Teamviewer
19/05/2014Prestashop: El módo B2B para que sirve
29/06/2014Hola a todos,
Dentro de Prestashop tenemos una opción para activar el modo B2B, que nos añade algunos campos a nuestra configuración.
el problema es que al activar la opción B2B, al registrar una empresa nos aparece un campo nuevo “SIRET“, el equivalente a CIF o número de identificación fiscal, y que tiene una longitud establecida que por ejemplo no coincide con la longitud del CIF español.
Lamentablemente para solucionarlo hay que tocar código.
Os dejo aquí lo que hay que modificar.
Lo primero es buscar el fichero “validate.php” que encontraremos en la carpeta classes de la instalación raiz.
\classes\validate.php
Una vez allí buscar el siguiente código:
public static function isSiret($siret)
{
if (Tools::strlen($siret) != 14)
return false;
$sum = 0;
for ($i = 0; $i != 14; $i++)
{
$tmp = ((($i + 1) % 2) + 1) * intval($siret[$i]);
if ($tmp >= 10)
$tmp -= 9;
$sum += $tmp;
}
return ($sum % 10 === 0);
}
La solución:
cómo no debemos borrar código original, y previa copia de seguridad, lo que haremos será comentar una parte del código y añadiremos una nueva línea.
en verde lo que debemos comentar, en azul lo que añadimos.
public static function isSiret($siret)
{
return (bool)preg_match(‘/^[0-9]{6}-[0-9]{4}$/s’, $siret);
/*
if (Tools::strlen($siret) != 14)
return false;
$sum = 0;
for ($i = 0; $i != 14; $i++)
{
$tmp = ((($i + 1) % 2) + 1) * intval($siret[$i]);
if ($tmp >= 10)
$tmp -= 9;
$sum += $tmp;
}
return ($sum % 10 === 0);
*/
}
return (bool)preg_match(‘/^[0-9]{6}-[0-9]{4}$/s’, $siret);
1 Comment
Esto hay que hacerlo usando Overrides, compa!
Pero gracias por dirigirnos en la dirección correcta…