How to overwrite x5engine functions ?
Author: Christian LopezI need to modify a couple of x5engine functions.
Well, I manage to do what I want but :
#1 : If I modify the x5engine file of my project, it will be erased as soon as I export the project. It's understandable and totally expectable.
#2 : If I modify the x5engine file inside WebSite X5 Pro (C:\Program Files\WebSite X5 - Pro\Res), it will not generate the custom x5engine in my project. It's also understandable because I guess we can have several projects with various x5engine versions. Correct ?
#3 : If I modify the x5engine file inside WebSite X5 Pro (C:\Program Files\WebSite X5 - Pro\Res) AND then, start a brand new project, it will generate the project with the updated x5engine. That illustrates, I think, my question at #2.
So, where is stored the legacy x5engine.php file at the project level, so I can modify it ?
Thx
Salut Christian,
Il semble avéré que le logiciel "reprends la main" sur toutes les modifications apportées au code, dès lors qu'on relance le projet pour une nouvelle mise à jour par exemple. Il réactive tous les codes d'origine.
Une solution vue il y a pas mal de temps déjà, consistait à exporter le projet sur le disque de l'ordinateur, modifier le code, et exporter la totalité du projet sur le serveur en utilisant un logiciel FTP externe (Filezilla par exemple). Et à refaire la même manipulation à chaque modification du projet. Galère....
Je ne sais pas ce qu'il en est actuellement avec la toute dernière version (pas testé). Je laisse le soin à un utilisateur plus éclairé ou à un technicien du Support Incomedia (signalé...) de te donner une réponse adaptée.
J.P.
Author
Merci pour ton retour.
J'ai également tenté de créer un "my_x5engine" (clone de x5engine avec mes modifications) et de modifier l'inclusion de ce fichier dans xcart.php. Mais lorsque je mets des produits à jour (c'est le cas de mon projet), le fichier xcart est réinitialisé. Retour à la case départ.
Vu que j'ai la main sur le serveur, la solution que j'entrevois est de supprimer les droits d'écriture à l'utilisateur "FTP" sur le fichier x5engine distant. Une fois le fichier sur le serveur une première fois, je modifie les droits (chmod), il ne pourra jamais être "écrasé" par la suite...
... car vous souhaitez modifier le fichier x5engine ...!?...
... les fichiers au service du projet ne doivent pas être modifiés ...
... si vous êtes un expert, vous devez créer vos routines EXTRA à l'aide des panneaux Expert disponibles dans le programme pour intégrer vos codes ...
.
Hello Christian,
Pas certain que l'export de Website continue si une erreur en écriture arrive.
La réponse de KolAsim semble la bonne...
@KolAsim
Oui nous pouvons écrire du code extra dans le produit, mais comment par exemple remplacer une fonction existante dans x5engine... Comment faire pour que notre code soit pris en compte.
!important comme dans le CSS ne fonctionne pas ici !
une idée ?
Enjoy
https://wsx5.afsoftware.fr
(It > Fr) ... pour cela mon précédent (!?) ...
... sans savoir de quoi nous parlons, rien ne peut être dit et si c'est possible ou non! ...
... si Christian Lopez veut nous faire savoir quelque chose, il y a différentes manières selon votre préparation ...
... une pour toutes, mon > idée/invention basée sur PHP, simple, intuitive et exclusive, valable pour toutes les occasions ...
ciao
.
Author
@Wsx5
Si l'export devait s'arrêter en cours de route, il me reste la bonne vieille méthode Filezilla en ne remplaçant que les fichiers différents. Même si l'upload plante, les autres téléchargements continueront.
@KolAsim
Dans mon site eCommerce, j'ai besoin de modifier la façon dont le lien de téléchargement (dans le cas de l'achat d'un produit numérique donc) final est construit. J'ai besoin qu'il soit dynamiquement créé et qu'il contienne ID de commande + ID du produit. Je ne vois pas d'autres solutions que de surcharger un certain nombre de méthodes dans x5engine.
... par conséquent, une fois que vous avez stabilisé vos modifications, vous pouvez les corriger dans le projet de manière simple, en suivant mon idée précédente......
.
Author
Je doute que je puisse arriver à mes fins en injectant du code PHP dans les pages. Au vue des différentes fonctions que j'ai modifiées, cela me semble tout simplement impossible.
Pas simple tout ça :)
En tout cas, merci à vous pour vos retours, si quelqu'un a une autre idée en cours de route, je suis preneur ;)
(It > Fr) ... essayez simplement; ... c'est plus simple que simple ...
... le code HEAD entre ces deux TAG PHP est inhibé:
<?php /* début du commentaire ...
... fin du commentaire */ ?>
... vous pouvez ensuite coller les déclarations originales du programme, uniquement celles nécessaires, puis celles de vos fichiers x5engine, etc. modifié et que vous devez attacher au projet dans le panneau des pièces jointes ...
... si vous avez des difficultés, faites comme vous le savez déjà, même si c'est précaire ...ciao
Author
Ok, je vois où vous voulez en venir mais ça ne marche pas dans mon cas. Les fonctions que je souhaite modifier sont appelées hors du contexte d'une page. Elles sont appelées dans le cadre d'un workflow interne (paiement effectué, lien de téléchargement,...)
Merci en tout cas de vos idées.
Ciao ;)
... ok, ...ciao ...