Jump to content
Wouter van der Horst

EAN Code lengte

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

Share this post


Link to post
Share on other sites

Dag Wouter,

 

Heb je ook in de database de lengte aangepast van ean13 in tabel ps_product?

post-1287769-0-75717100-1501081362_thumb.jpg

  • Like 1
  • Thanks 1

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More