Jump to content

Bloccare l'inserimento di prodotti con lo stesso SKU


diego

Recommended Posts

Salve a tutti, ho un problema e spero qualcuno di voi potrà essermi di aiuto. Devo far in modo che Prestashop non permetta l'inserimento di due prodotti con lo stesso SKU (o riferimento che dir si voglia). Vorrei che nel momento il cui clicco su Salva appaia un messaggio di errore tipo "Riferimento già presente" e il prodotto non venga inserito ne modificato. 

Cercando nel web ho trovato questa soluzione ma non sembra funzionare. Il prodotto non viene aggiornato se trovato duplicato ma non appare nessun messaggio di errore.

Ho modificato il file controller->admin->AdminProductController.php aggiungendo questa funzione

public function checkUniqueRef()
	{
		$reference = Tools::getValue('reference');
		$idproduct = Tools::getValue('id_product');
		if ($reference!=""){
			$sql = 'SELECT id_product FROM `'._DB_PREFIX_.'product` WHERE reference="'.$reference.'" AND id_product<>'.$idproduct;
			$res = Db::getInstance()->getValue($sql);
			if($res)
			{
			    $this->errors[] = $this->trans('Product with this reference is already exists.', array(), 'Admin.Notifications.Error');
			    //alternative
				//$this->errors[] = sprintf(Tools::displayError('Product with reference %s is already exists.'), $reference);
			}
		}
	}

per poi richiamarla qui:

public function checkProduct()
    {
     
		$this->checkUniqueRef();
		if (!empty($this->errors)) {
            $this->display = 'update';
            return false;
        }

Ringrazio in anticipo chiunque vorrà provare a darmi una mano! 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...