Disons que je veux développer une extension Magento qui s'interface, disons, avec un package de graphiques Open Source ou une galerie d'images ou tout ce qui ne fait PAS partie de l'extension elle-même. Une fois téléchargée (séparée de l'extension), la bibliothèque tierce est livrée dans son propre .zip unique avec tous ses .php, .js, .html et .css ensemble.
Dois-je placer sur le pauvre propriétaire du site qui souhaite installer mon extension avec la bibliothèque tierce, la charge de séparer le .zip tiers d'origine et de le faire mettre .js dans / js, .php dans / lib,. css dans / skin etc?
Ou existe-t-il un "dépotoir" généralement accepté pour les .zips tiers où l'on peut facilement décompresser le téléchargement TEL QUEL et en finir avec?
Vous voulez donc créer une extension et vous utilisez une ressource / un package externe pour la construire. À mon avis, quel que soit le package que vous avez utilisé dans votre extension, votre extension devrait suivre les meilleures pratiques de Magento. Cela signifie que vous devez séparer tous les js, css et images de la ressource externe et les placer dans
base\default
les répertoires des packages de thèmes.c'est-à-dire qu'il n'existe aucun emplacement unique de ce type pour placer les ressources de packages tiers. En fin de compte, lorsque vous fournissez une extension sympa, tous les js, css et images liés à votre extension doivent être conservés dans un endroit où un autre développeur va normalement regarder et qui est dans presque tous les cas le
base/default
package de thème.En bref
Toutes vos extensions js devraient être incluses
De cette façon, un autre développeur peut facilement trouver très facilement les js, css et images (de vos ressources externes) de votre extension. Étant donné que vous utilisez un sous-répertoire supplémentaire pour indiquer les fichiers de ressources externes à l'intérieur de votre répertoire de noms d'extensions, cela donnera aux autres un meilleur indice que votre extension dépend de certains packages tiers.
Je vous recommande donc de séparer les packages externes et de les intégrer à votre extension afin qu'un autre développeur puisse facilement trouver vos dépendances. :-)
MODIFIER - 1
Vous ne devez pas alourdir votre extension pour le propriétaire de votre site. Vous pouvez éviter cette difficulté en alignant correctement votre extension. Cela signifie que si vous enregistrez tous les fichiers associés dans les emplacements de répertoire spécifiés, tout ce qu'un propriétaire de site doit faire est de récupérer votre extension, puis de fusionner votre extension à partir du répertoire racine de l'application. ie Alignez correctement votre extension. Ça devrait ressembler à ça.
MODIFIER - 2
S'il y a des packages qui devraient être partagés entre toutes les applications Magento (comme une bibliothèque javascript ou un package php, etc.), vous pouvez les mettre dans le
\lib
répertoire.Il est vrai qu'il peut exister un fichier en double si deux extensions s'appuient sur les mêmes packages de ressources. Ils peuvent également utiliser des versions différentes du même package de ressources. Mais en gros, votre extension doit utiliser uniquement les ressources de votre extension (et peut s'appuyer sur les ressources par défaut de Magento) et elle ne doit pas s'appuyer sur les ressources d'autres extensions, sauf si votre extension est une "version d'extension" d'une extension tierce.
la source
js, css, images
dans lebase\default
package". Voir aussi mon code d'éditionMagento a son propre gestionnaire de packages appelé Magento Connect. Vous devriez vérifier ce guide à partir de la documentation officielle pour bien comprendre à quoi le paquet devrait ressembler. Vous pouvez emballer votre module à partir d'une installation Magento une fois que vous avez compris la structure.
la source
Fondamentalement Magento utilise la structure propre de à détenir
.php
,.phtml
,js
,css
,images
fichiers.Pour les développeurs d'extensions magento, il est très important de suivre la voie magento. Vérifiez ce lien .
Alors,
.php
fichiers doivent aller sousapp/code/community
dossierjs
fichiers peuvent aller dans unjs
dossier ou dans unskin/frontend or adminhtml/your_theme_pack/your_theme/js
dossiercss
fichiers peuvent aller dans leskin/frontend or adminhtml/your_theme_pack/your_theme/css
dossierimages
fichiers peuvent aller dans leskin/frontend or adminhtml/your_theme_pack/your_theme/images
dossierfiles should go to
dossier «html app / design / frontend ou adminhtml / template»Frontend PS signifie si votre extension est pour le magasin frontal et adminthml signifie si votre extension est pour la zone d'administration.
Il existe des moyens spécifiques de conserver ces fichiers dans magento, vous devez donc les suivre.
Je vérifierais également si vos fonctions souhaitées / de copie sont déjà disponibles dans le framework magento / zend. Par exemple, la création de pdf, l'envoi d'e-mails, la lecture de xml, etc. sont déjà construits dans magento.
J'espère que cela t'aides.
Mise à jour 1
Si vous souhaitez simplement conserver vos fichiers quelque part, vous pouvez les conserver n'importe où. Vous pouvez même créer un nouveau dossier dans la racine magento. Mais ce n'est pas la meilleure pratique pour magento, qui chargera votre serveur lors de l'exécution de ces fichiers. Vous souhaitez vérifier ce https://magentotherightway.com/
la source
local
pool de codes.