Jump to content

EAN Code lengte


Wouter van der Horst

Recommended Posts

Beste Forumleden,

 

Weet iemand waar je de maximale lengte van een EAN code in Prestashop 1.7.x kan wijzigen van 13 naar 14 nummers?

 

Ik heb artikelen die een 14 cijferige EAN Code hebben.

Google Shopping accepteert nu deze artikelen niet omdat EAN code niet klopt.

 

Zelf dacht ik classes/product.php 

 

   /* Classic fields */
            'id_shop_default' =>            array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
            'id_manufacturer' =>            array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
            'id_supplier' =>                array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
            'reference' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isReference', 'size' => 32),
            'supplier_reference' =>        array('type' => self::TYPE_STRING, 'validate' => 'isReference', 'size' => 32),
            'location' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isReference', 'size' => 64),
            'width' =>                        array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
            'height' =>                    array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
            'depth' =>                        array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
            'weight' =>                    array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat'),
            'quantity_discount' =>            array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'ean13' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isEan13', 'size' => 14),
            'isbn' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isIsbn', 'size' => 13),
            'upc' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isUpc', 'size' => 12),
            'cache_is_pack' =>                array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'cache_has_attachments' =>        array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'is_virtual' =>                array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'state' =>                     array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
 
Dit heeft nog niet geholpen.

 

Groeten,

 

Wouter van der Horst

Kantoorwinkel.nu

Edited by Wouter van der Horst (see edit history)
  • Like 1
Link to comment
Share on other sites

Bedankt voor de reactie.

 

Ik heb het aangepast in de database maar nog steeds geeft hij foutmelding.

Als ik hem in de database opsla gaat het goed dan laat die 14 cijfers.

Echter als je dan bij product opslaan drukt krijg je weer foutmelding.

 

post-1357127-0-73269000-1501083958_thumb.png

 

Ook in classes/Validate.php aangepast

 

 /**
     * Check for barcode validity (EAN-13)
     *
     * @param string $ean13 Barcode to validate
     * @return bool Validity is ok or not
     */
    public static function isEan13($ean13)
    {
        return !$ean13 || preg_match('/^[0-9]{0,14}$/', $ean13);
    }
Edited by Wouter van der Horst (see edit history)
  • Like 1
Link to comment
Share on other sites

Hoi Wouter,

 

Voor ons is dit ook de eerste keer dat wij dit aanpassen. We hebben het gevonden, maar nog niet de manier om hier een override van te maken.

De ean13 wordt nogmaals gevalideerd in het bestand /src/PrestaShopBundle/Form/Admin/Product/ProductOptions.php op lijn 140.

        ->add('ean13', 'Symfony\Component\Form\Extension\Core\Type\TextType', array(
            'required' => false,
            'error_bubbling' => true,
            'label' => $this->translator->trans('EAN-13 or JAN barcode', [], 'Admin.Catalog.Feature'),
            'constraints' => array(
                new Assert\Regex("/^[0-9]{0,14}$/"),
            )
        ))
  • Like 2
Link to comment
Share on other sites

  • 1 year later...

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...