WebSite X5Help Center

 
Christian Lopez
Christian Lopez
User

How to overwrite x5engine functions ?  fr

Autor: Christian Lopez
Visitado 1157, Seguidores 1, Compartilhado 0  

I 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

Publicado em
11 RESPOSTAS
JiPeR 48
JiPeR 48
Moderator

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

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.

Ler mais
Publicado em de JiPeR 48
Christian Lopez
Christian Lopez
User
Autor

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

Ler mais
Publicado em de Christian Lopez
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

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

.

Ler mais
Publicado em de  ‪ KolAsim ‪ ‪
Axel  
Axel  
User

Hello Christian,

Pas certain que l'export de Website continue si une erreur en écriture arrive.tongue-out

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

Ler mais
Publicado em de Axel  
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Wsx5.afsoftware.fr  
... ... ...  @KolAsim ... ...  mais comment par exemple remplacer une fonction existante dans x5engine... Comment faire pour que notre code soit pris en compte. ... ... ... 

(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

.

Ler mais
Publicado em de  ‪ KolAsim ‪ ‪
Christian Lopez
Christian Lopez
User
Autor

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

Ler mais
Publicado em de Christian Lopez
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Christian Lopez
... ... ...  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...wink...

.

Ler mais
Publicado em de  ‪ KolAsim ‪ ‪
Christian Lopez
Christian Lopez
User
Autor

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 ;)

Ler mais
Publicado em de Christian Lopez
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Christian Lopez
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. ... ... ... 

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

Ler mais
Publicado em de  ‪ KolAsim ‪ ‪
Christian Lopez
Christian Lopez
User
Autor

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 ;)

Ler mais
Publicado em de Christian Lopez
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... ok, ...ciao ...

Ler mais
Publicado em de  ‪ KolAsim ‪ ‪