Jump to content

[Résolu] Problème d'override depuis le passage de 1.7.7.8 à 1.7.8.0


Recommended Posts

Bonjour à tous

J'ai ce message, et des modules qui se terminent en erreur 500, qui semble pointer un problème d'override:

Warning: Declaration of Link::getProductLink($product, $alias = NULL, $category = NULL, $ean13 = NULL, $id_lang = NULL, $id_shop = NULL, $ipa = 0, $force_routes = false, $relative_protocol = false, $add_anchor = false, $extraParams = Array) should be compatible with LinkCore::getProductLink($product, $alias = NULL, $category = NULL, $ean13 = NULL, $idLang = NULL, $idShop = NULL, $idProductAttribute = NULL, $force_routes = false, $relativeProtocol = false, $withIdInAnchor = false, $extraParams = Array, bool $addAnchor = true) in /root/override/classes/Link.php on line 30

J'ai joint le fichier en question, qui est exactement le même qu'avant l'upgrade. Je dirais même qu'il n'a probablement pas évolué depuis les upgrades précédents (datant de 2020), si je me réfère à la date du fichier.

Je ne parle pas cette langue... Quelqu'un peut-il m'aider?

Merci!

Link.php

Link to comment
Share on other sites

L'override n'a pas évolué mais la classe de base si et PHP 7 n'accepte pas que la définition de classe soit différente.

Maintenant

$ipa  doit s'appeler $idProductAttribute (pas trop grave)

il faut rajouter $withIdInAnchor = false, (obligatoire)

et $add_anchor doit être en dernier (important sinon ce ne sera pas le bon paramètre qui sera passé)

Mais mettre à jour ce fichier ne garantit pas que votre module de carte cadeaux fonctionnera s'il appelle la fonction avec les anciens paramètres...

 

Dans tous les cas ça donne ça pour votre version

<?php
/**
 * GIFT CARD
 *
 *    @author    EIRL Timactive De Véra
 *    @copyright Copyright (c) TIMACTIVE 2015 -EIRL Timactive De Véra
 *    @license   Commercial license
 *    @category pricing_promotion
 *    @version 1.1.0
 *
 *************************************
 **         GIFT CARD                *
 **          V 1.0.0                 *
 *************************************
 * +
 * + Languages: EN, FR, ES
 * + PS version: 1.5,1.6,1.7
 */
class Link extends LinkCore
{
    /**
     *
     * @author
     */
    /*
    * module: giftcard
    * date: 2021-10-16 16:42:08
    * version: 2.1.64
    */
    public function getProductLink(
        $product,
        $alias = null,
        $category = null,
        $ean13 = null,
        $id_lang = null,
        $id_shop = null,
        $ipa = 0,
        $force_routes = false,
        $relative_protocol = false,
        $withIdInAnchor = false,
        $extraParams = array(),
        $addAnchor = true
    ) {
        $giftcard = Module::getInstanceByName('giftcard');
        if ($giftcard && $giftcard->active) {
            if (! is_object($product)) {
                if (is_array($product) && isset($product['id_product'])) {
                    $id_product = $product['id_product'];
                } elseif ((int) $product) {
                    $id_product = (int) $product;
                }
            } else {
                $id_product = $product->id;
            }
            if ((int) $id_product > 0 && $giftcard->isGiftCard($id_product)) {
                $params = array();
                $params['id_product'] = $id_product;
                return ($this->getModuleLink('giftcard', 'choicegiftcard', $params));
            }
        }
        if (version_compare(_PS_VERSION_, '1.6.0.10', '<') === true) {
            return (parent::getProductLink(
                $product,
                $alias,
                $category,
                $ean13,
                $id_lang,
                $id_shop,
                $ipa,
                $force_routes
            ));
        }
        if (version_compare(_PS_VERSION_, '1.6.1.1', '<') === true) {
            return (parent::getProductLink(
                $product,
                $alias,
                $category,
                $ean13,
                $id_lang,
                $id_shop,
                $ipa,
                $force_routes,
                $relative_protocol
            ));
        }
        if (version_compare(_PS_VERSION_, '1.7.0.0', '<') === true) {
            return (parent::getProductLink(
                $product,
                $alias,
                $category,
                $ean13,
                $id_lang,
                $id_shop,
                $ipa,
                $force_routes,
                $relative_protocol,
                $add_anchor
            ));
        }
        return (parent::getProductLink(
            $product,
            $alias,
            $category,
            $ean13,
            $id_lang,
            $id_shop,
            $ipa,
            $force_routes,
            $relative_protocol,
            $withIdInAnchor,
            $extraParams,
            $addAnchor
        ));
    }
}

 

Link to comment
Share on other sites

  • gringo1er changed the title to [Résolu] Problème d'override depuis le passage de 1.7.7.8 à 1.7.8.0
  • 10 months later...

Hello,

excusez moi, je parle pas français, me j'ai comprix un peau.

J'apprécierais de m'aider à résoudre une erreur similaire dans chaque page que je visite sur mon site.

AH01071: Got error 'PHP message: PHP Warning: Declaration of Link::getProductLink($product, $alias = NULL, $category = NULL, $ean13 = NULL, $id_lang = NULL, $id_shop = NULL, $ipa = 0, $force_routes = false, $relative_protocol = false, $add_anchor = false, $extraParams = Array) should be compatible with LinkCore::getProductLink($product, $alias = NULL, $category = NULL, $ean13 = NULL, $idLang = NULL, $idShop = NULL, $idProductAttribute = NULL, $force_routes = false, $relativeProtocol = false, $withIdInAnchor = false, $extraParams = Array, bool $addAnchor = true) in /var/www/vhosts/instintobcn.com/httpdocs/override/classes/Link.php on line 30', referer: https://www.instintobcn.com/ca

Thanks in advanced

Edited by zenerry (see edit history)
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...