Surcharge (override) d'un fichier

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Surcharge (override) d'un fichier

    Bonjour les Zamis !

    Quand un template a ses propres "vues", un peu comme ici Helix3 qui ajoute des boutons de partage sur les réseaux sociaux
    Code:
    templates\shaper_helix3\html\layouts\joomla\content\social_share\share.php
    comment faire pour créer une surcharge (override) de ce fichier... sachant qu'il est déjà dans /html/ ?

    En effet, si on l'édite directement, il va être remis à l'état d'origine lors de la prochaine màj

    Merci !
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

  • #2
    Hello,
    Ce n'est pas "possible" d'après ce que je sais.
    Les seuls moyens vont être soit de bloquer la mise à jour des fichiers du template (les chmod en 444 par exemple) ou alors de ne pas utiliser les fonctions du template mais plutôt de modules appelés dans le template (qui eux ne seront pas impactés par une mise à jour du template).

    Par contre, je ne sais pas par exemple si il n'est pas possible de prendre le code de "share.php" pour l'intégrer dans un module personnalisé par exemple...

    A creuser
    Xavier
    woluweb aime ceci.
    Chabi01 - http://www.xlformation.com

    Commentaire


    • #3
      Merci Xavier,
      C'est ce que je pressentais, mais je me disais qu'il y avait peut-être une solution que je ne voyais pas...

      Petite question en passant : si je mets le fichier en 444, OK il ne sera pas changé, mais le template ne va pas dire que la màj a échoué ? (si le template ne se plaint pas, c'est une solution super pragmatique )

      Sinon, on pourrait faire un Alternate Layout pour les Articles (car c'est lui qui centralise le tout, y compris l'ajout du "share.php")... qui du coup appelerait un "share-perso.php").
      Mais ça ne résout pas tout : on ne perdrait plus les customisations de share.php... mais par contre si le code pour les Articles évolue (ce qui est le cas p ex avec les nouvelles fonctionnalités de J!3.9, ou encore pcq il y a correction de bug de la part du fournisseur de template), ben il faut faire le "change track" de ce fichier.

      Sinon je ne désespère pas : qqun a-t-il encore une autre alternative à proposer ?
      Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

      Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

      Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

      Commentaire


      • #4
        Bonjour messieurs

        De mon expérience : si on met un fichier en 444 (donc en lecture seule), l'installation de Joomla / un composant / un module / ... peut planter car la mise-à-jour ne va pas pouvoir être faite et l'installateur va rapporter une erreur (voire planter avec un fatal error). En principe donc, 444 ne permettra plus de mettre à jour le gabarit.

        Le souci d'une surcharge est exactement ce que décrit Marc : c'est cool de faire une surcharge, on peut adapter le code d'une vue pour venir mettre son bout de code à soi mais on coupe alors "à jamais", la mise-à-jour. Si le fichier d'origine évolue, nouvelles fonctionnalités, correction d'un bug, ..., le fichier qui avait été pris à un moment T pour faire sa surcharge ne sera jamais mis à jour et c'est pourtant lui qui sera utilisé sur le site; pas la nouvelle version.

        La surcharge, c'est vraiment un concept puissant mais cela induit l'effet négatif de se couper des futures évolutions du fichier.

        Perso, je ne vois pas beaucoup d'astuce... si ce n'est avoir une bonne méthodologie dans ses mises-à-jour pour savoir "ah oui, c'est vrai, j'ai une surcharge pour ...".

        Bonne journée.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Envoyé par cavo789 Voir le message
          Bonjour messieurs

          Le souci d'une surcharge est exactement ce que décrit Marc : c'est cool de faire une surcharge, on peut adapter le code d'une vue pour venir mettre son bout de code à soi mais on coupe alors "à jamais", la mise-à-jour. Si le fichier d'origine évolue, nouvelles fonctionnalités, correction d'un bug, ..., le fichier qui avait été pris à un moment T pour faire sa surcharge ne sera jamais mis à jour et c'est pourtant lui qui sera utilisé sur le site; pas la nouvelle version.
          Merci Christophe !

          Tu confirmes ce que je pressentais aussi.

          Mais parlant du désavantage de "forker" quand on fait une surcharge, je signale au passage que J!4 prévoit ça pcq il va signaler dans l'interface s'il y a des overrides de fichiers qui ont entre-temps changé : https://community.joomla.org/gsoc-20...nt-part-2.html
          cavo789 aime ceci.
          Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

          Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

          Commentaire


          • #6
            Sinon, j'ai une autre solution... Tu utilises uniquement des extensions qui ne posent pas ce problème... Helix a justement ce problème et d'après leur forum, cela ne va pas changer...

            Quand tu parles "d'alternate layout", personnellement je le gère autrement.
            Je fais un template basique avec uniquement des positions, du css. Pas de chargement complexe type Helix (qui d'ailleurs plante certaines extensions voir même fonction de Joomla comme les menus (déjà arrivé pour moi)).
            A partir de là, 2 solutions :
            - soit je crée tout le site via des modules + pages appelés conditionnellement avec l'ajout d'un plugin "Module Anywhere"
            - soit pour les templates un peu plus travaillé avec des pages pouvant être très chargées et différentes, je travaille avec Flexicontent qui offre la possibilité de faire des templates pour les contenus de page avec toutes les options possibles et surtout le fait que les templates que tu as créés ne sont jamais "détruits" après une mise à jour.

            A noter également (ce n'est pas de la pub !) que TemplateCreator de CedCK que nous connaissons tous est particulièrement bien foutu dans le sens où si tu fais une modif de ton template créé pour ton site, il ne va pas "démolir" toutes tes personnalisations à chaque modification soit du composant, soit du template.

            Maintenant.. tu peux utiliser Hélix....

            Xavier
            woluweb aime ceci.
            Chabi01 - http://www.xlformation.com

            Commentaire


            • #7
              Envoyé par woluweb Voir le message

              Merci Christophe !

              Tu confirmes ce que je pressentais aussi.

              Mais parlant du désavantage de "forker" quand on fait une surcharge, je signale au passage que J!4 prévoit ça pcq il va signaler dans l'interface s'il y a des overrides de fichiers qui ont entre-temps changé : https://community.joomla.org/gsoc-20...nt-part-2.html
              Ca, c'est une bonne nouvelle, car perso, j'ai souvenir d'avoir des surcharges sur mon site au fur et à mesure de mes progrès en Joomla! et de mes idées aussi (si, si !!) et évidemment (erreur grave de débutant) : je ne les ai pas notées !!

              A ce propos, quelqu'un sait comment on reverse engineering (ce mot n'existe pas pour ce concept, mais je m'en fous) sur les surcharges ? Je veux dire partant d'un site à un moment 't' comment retrouver toutes les surcharges effectuées au cours des années précédentes ?

              Merci d'avance pour une éventuelle solution autre que relire toute l'architecture fichier du site
              Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

              Commentaire


              • #8

                A ce propos, quelqu'un sait comment on reverse engineering
                Je propose rétro-ingénie qui n'existe pas plus mais sonne mieux à mon oreille.
                PieceOfCake aime ceci.
                Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
                Confucius

                Commentaire


                • #9
                  Envoyé par lesoutier Voir le message

                  Je propose rétro-ingénie qui n'existe pas plus mais sonne mieux à mon oreille.
                  Validé !!
                  Il y a 10 sortes de gens. Ceux qui savent compter en binaire et ceux qui ne savent pas ...

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X