Le nouveau système de modification dans OpenCart 2

Le succès de tout framework open-source dépend de certains facteurs, parmi lesquels l'extensibilité est l'un des facteurs les plus importants. Il permet à la communauté d’ajouter de nouvelles fonctionnalités et d’enrichir ses fonctionnalités principales, ce qui donne un produit final très puissant. Bien sûr, il s’agit également d’une fonctionnalité indispensable pour le développement d’extensions personnalisées..

Dans cet article, nous verrons comment modifier les fichiers principaux du framework OpenCart en implémentant une extension OCMOD basée sur XML. Une grande partie de ses fonctionnalités sont empruntées à son prédécesseur, le système vQmod. En fait, c'est un système beaucoup plus simple, offrant moins de fonctionnalités que vQmod. Ceci dit, il couvre tous les modèles de remplacement importants.

Le système OCMOD est un système de recherche et de remplacement basé sur XML. Vous définissez le fichier XML selon les conventions d'OCMOD et le reste sera fait. Nous pourrions donc dire que vous pouvez modifier n’importe quel fichier du cadre principal!

Listons quelques exemples pour comprendre ce dont il est capable:

  • Insérer un morceau de code avant une ligne particulière du fichier.
  • Remplacer un bloc de code par votre bloc de code personnalisé.
  • Trouvez une chaîne dans le fichier en utilisant regexp et remplacez-la par une autre chaîne.
  • Modifier le schéma de la base de données OpenCart.
  • Beaucoup plus…

Comme vous pouvez le constater, c’est toute une liste de choses que vous pourriez faire avec OCMOD. En outre, il est recommandé de l’utiliser au lieu de modifier directement les fichiers de base, ce qui est fortement déconseillé..

Dans la section suivante, nous allons créer un module OCMOD simple à des fins de démonstration. Je suppose que vous utilisez la dernière version d'OpenCart.

Comment OCMOD fonctionne

Vous pouvez créer et installer une extension OCMOD de deux manières différentes. Soit vous devez créer un fichier zip avec l’extension ".ocmod.zip", ou l’autre méthode consiste à créer un seul fichier XML portant l’extension ".ocmod.xml".

L'option de fichier Zip

L'option du fichier zip vous permet d'inclure également quelques autres fichiers, de sorte que vous puissiez également effectuer d'autres opérations telles que la modification du schéma de la base de données, le téléchargement de nouveaux fichiers / répertoires sur l'installation OpenCart, etc. Voyons quelles options sont disponibles. lors de l'utilisation de la version zip de l'extension OCMOD.

  • télécharger: Le contenu de ce répertoire sera copié tel quel à la racine OpenCart.
  • install.sql: Dans ce fichier, vous pouvez inclure des requêtes SQL pour modifier la base de données..
  • install.php: Dans ce fichier, vous pouvez inclure du code PHP personnalisé, requis par le code de modification..
  • install.xml: C'est le fichier le plus important, qui contient le code de modification XML.

Bien sûr, il n'est pas obligatoire de créer chaque fichier / répertoire énuméré ci-dessus, mais vous devez créer un install.xml fichier pour vous assurer que votre extension OCMOD peut être installée.

L'option de fichier XML

C'est un moyen beaucoup plus simple de créer une extension OCMOD. Il vous suffit de créer un fichier XML avec l'extension ".ocmod.xml". On pourrait dire que c'est identique à la install.xml fichier et contient le code de modification XML dont nous avons parlé dans la section précédente.

Pour que les choses restent simples, nous allons utiliser la dernière option et créer une extension OCMOD dans la section suivante..

Créer les fichiers du module OCMOD

En tant que développeur, vous serez le plus souvent placé dans une situation où vous serez tenté de modifier les fichiers principaux. Nous allons donc prendre un exemple concret montrant comment résoudre ce problème en utilisant une extension OCMOD..

Supposons que vous souhaitiez modifier la façon dont le titre est affiché sur la page de détail du produit. Le code suivant permet d’attribuer le titre approprié à la page de détail du produit. Vous pouvez le trouver dans le fichier situé à catalogue / contrôleur / produit / produit.php.

$ data ['heading_title'] = $ product_info ['name'];

Et vous voulez quelque chose comme ça:

$ data ['heading_title'] = strtoupper ($ product_info ['name']);

Voyons comment nous pourrions y parvenir en utilisant une extension OCMOD. Créer un product_title.ocmod.xml fichier avec le contenu suivant.

  Modification du titre du produit Code_Tutsplus_Product_Title 1,0 Code Tutsplus http://code.tutsplus.com       

Comme vous pouvez le constater, la plupart des tags sont explicites. La balise la plus importante est , qui définit le nom du fichier sur lequel l'opération sera effectuée. le balise est utilisée pour rechercher le code que nous recherchons, et enfin nous avons utilisé le balise pour injecter notre code.

Installer le module à partir du back-end

Maintenant que nous avons terminé avec notre fichier de modification, voyons comment l’installer à partir du back-end d’OpenCart. Dirigez-vous vers le back-end et accédez à Extensions> Installateur d'extensions. Clique sur le télécharger bouton et sélectionnez le fichier que nous avons créé dans la section précédente. Si tout se passe bien, vous devriez voir un message de réussite.

Aller vers Extensions> Modifications, et vous devriez voir votre extension OCMOD listée sur cette page.

Cela signifie que vous avez installé l'extension avec succès! Maintenant, il suffit de cliquer sur le rafraîchir icône dans la section en haut à droite de sorte qu'il soit détecté par OpenCart et prêt à être appliqué à l'interface frontale.

Dans la section suivante, nous allons passer en revue l'interface pour voir si elle est appliquée correctement à la page de détail du produit..

Test dans le front-end

Rendez-vous sur le front-end et accédez à n'importe quelle page de détail du produit. Vous devriez pouvoir voir que le titre du produit est maintenant en majuscule.

Bien que ce soit un exemple très simple pour démontrer la puissance d’OCMOD, vous pouvez faire beaucoup plus de choses avec cet utilitaire et modifier les fichiers de base si nécessaire..

Conclusion

Aujourd'hui, nous avons discuté du nouveau système de modification dans OpenCart 2 et avons suivi l'ensemble du processus pour vous montrer comment l'utiliser pour modifier les fichiers de base d'OpenCart. N'hésitez pas à poster vos questions!