Récemment
-
[RESOLU]Souci Revolut et Hipay
Modules9 -
[RESOLU]Image produit dans compte client > commande
PhenixSuite10 -
Hack ancien PS 1.6 avant mise à jour Phenix
PhenixSuite2 -
[RESOLU]Bug sur le module Bloc réassurance v13 - par PrestaShop modified by Eolia
Bugs & Améliorations2 -
Un immense merci à Eolia et Doekia pour leur travail remarquable avec PhenixSuite
Discussion générale2 -
Warning: count(): Parameter must be an array or an object that implements Countable
Bugs & Améliorations3 -
Problème configuration php valeurs max-imput-vars
Bugs & Améliorations5 -
Nouvelle installation : erreur sur les ajouts d'images
Questions relatives à l'installation/upgrade11 -
Problème de lien vers tpl module custom
PhenixSuite3 -
Modification sur le thème "Craft"
Questions relatives à l'installation/upgrade3 -
Installation avec Wamp
Questions relatives à l'installation/upgrade1 -
date_upd produits
Bugs & Améliorations13 -
Champ description longue pour les catégories
Modules5 -
Erreurs suite à la mise à jour
Questions relatives à l'installation/upgrade10 -
Module personnalisation de produit
Modules3 -
Theme non fonctionnel - après MAJ de la Phenixsuite 1.6.2.32
Questions relatives à l'installation/upgrade13 -
TinyMCE
Bugs & Améliorations2 -
Déclinaisons virtuelles avec fichiers
PhenixSuite10 -
[RESOLU]Lien téléchargement dans le mail
Discussion générale6 -
[RESOLU]RGPD
Modules5
[RESOLU]Souci Revolut et Hipay
-
Salut les Phénixiens !
Le site que j'ai passé sur Phénix utilisait Hipay et Revolut, j'ai donc réinstallé les modules mais j'ai ces messages :- Pour Revolut :
Compatibilité PHP 7.4 > : Ce module revolutpayment utilise une variable en tant que propriété qui n'a pas été déclarée. ["revolutpay_tittle","isPs16","isPs17","isPs8","available_currency_list","card_payments_currency_list","support_link","ps_support_link","autoCancelTimeout","captureMode","default_revolut_reward_banner","default_revolut_benifits_banner","default_revolut_informational_icon","REVOLUT_PAY_INFORMATIONAL_ICON_VARIANTS","revolutApi","payWidgetIsEnabled","cardWidgetIsEnabled","paymentRequestIsEnabled","moduleEnable","authorizeOnly","checkoutWidgetDisplayType","customStatus","autoRefunds","isSandBoxMode","payment_widget_types"]
× Erreur de compilation JavaScript Uncaught SyntaxError: Unexpected token '&' dans le fichier: https://fichentr.cds-webassistance.fr/admin771m32itb/index.php?controller=AdminModules&token=fd494c817798e8af2c975c150b5ffa63&configure=revolutpayment&tab_module=payments_gateways&module_name=revolutpayment à la ligne 1707
- Pour Hipay :
Compatibilité PHP 7.4 > : Ce module hipay_professional utilise une variable en tant que propriété qui n'a pas été déclarée. ["display"]
J'ai interrogé les devs mais ils ne sont pas pressés de répondre ... Quelqu'un aurait-il une idée ?
Merci d'avance
-
pour les compatibilités (ce ne sont que des warnings) ajoutez les propriétés manquantes en début de fichier en tant que "public"
Exemple :
class RevolutPayment extends PaymentModule { public $revolutpay_tittle; public $isPs16; public $isPs17; public $isPs8; etc... public function __construct() {
Pour l'erreur js il faudrait voir la ligne concernée (à mon avis ils ont oublié d'échapper une valeur ou celle-ci est vide)
-
tittle avec 2 t, tiens donc^^
-
Merci Eolia,
J'ai overridé les 2 modules, plus de warning.
Pour l'erreur js, comment trouver la ligne fautive ? Dans Sources, il m'indique cette ligne :
<script type="text/javascript">
var module_dir = '/modules/';
var id_language = 1;
var languages = new Array();
var vat_number = 0;
// Multilang field setup must happen before document is ready so that calls to displayFlags() to avoid
// precedence conflicts with other document.ready() blocks
languages[0] = {
id_lang: 1,
iso_code: 'fr',
name: 'Français (French)',
is_default: '1'
};
Mais j'ai ouvert quasiment tous les fichiers de Revolut sans voir quelque chose d'approchant.
-
je ne vois pas de & dans les lignes, normalement l'erreur apparait en soulignée rouge (début du soulignement)
-
bon il y a eu correction automatique, il faut lire var module_dir = '/modules/'
idem pour iso_code, etc, les ' sont remplacés par '
-
c'est pas normal, peut-être que le module fait un html_encode/url_encode des variables js ?
-
peut-être, en effet, mais où ? Je cherche html_encode dans chacun de ses fichiers ? tpl, js ?
-
je pense avoir trouvé :
Dans le fichier views/admin/prb-settings.tpl :<div class="tab-pane fade {if $section=='prb-settings'}active in{/if}" id="prb-settings" role="tabpanel" aria-labelledby="prb-settings-tab"> <input type="hidden" class="REVOLUT_PRB_SELECTED_LOCATIONS" value='{$REVOLUT_PRB_LOCATIONS|escape:'htmlall':'UTF-8'}'> {html_entity_decode($prb_settings_form|escape:'htmlall':'UTF-8')} </div>
j'ai remplacé par :
<div class="tab-pane fade {if $section=='prb-settings'}active in{/if}" id="prb-settings" role="tabpanel" aria-labelledby="prb-settings-tab"> <input type="hidden" class="REVOLUT_PRB_SELECTED_LOCATIONS" value={$REVOLUT_PRB_LOCATIONS|json_encode}> {$prb_settings_form nofilter} </div>
Et l'erreur a disparu
Donc dans l'override déjà créé pour ajouter toutes les déclarations de variables manquantes pour compatibilité PHP 7.4, modification de la function displayRevolutSettingsPage pour appeler l'override de prb-settings.tpl, et au final, création de l'override de prb-settings.tpl, tout ça pour que cela ne soit pas écrasé en cas de maj du module s'il n'est pas corrigé (en espérant que le dev voudra bien prendre en compte ces modifs car plus de réponse depuis que je lui ai dit que c'était pour Phenix ...).
Vive l'IA qui m'a aidée à démêler tout cet écheveau !