Dans magento je sais comment inclure les fichiers js dans le fichier de mise en page. Comment, cependant, j'inclure des fichiers javascript spécifiques seulement sur certaines pages avec mon module personnalisé. Par exemple, j'écris un module personnalisé qui fonctionnera avec la vue du produit et la liste des pages. Je veux donc avoir une sorte de mise à jour de la mise en page que je peux utiliser avec mon module qui inclura mon fichier javascript uniquement sur la vue du produit et les pages de la liste.Magento - comment inclure le fichier javascript page par page base
Répondre
Ce que vous devez faire est de trouver les poignées de disposition pour les pages que vous souhaitez inclure le JS, et les ajouter au format XML de votre module personnalisé. Par exemple, pour inclure la JS sur la vue du produit, vous devez ajouter le nœud suivant à votre disposition:
<catalog_product_view>
<reference name="head">
<action method="addJs"><script>path/file.js</script></action> **OR**
<action method="addItem"><type>skin_js</type><name>path/file.js</name></action>
</reference>
Choisissez l'une des options en fonction de l'endroit où vos fichiers JS vivent. Jetez un oeil dans le catalogue par défaut.xml ou review.xml pour des exemples.
Pour élaborer le descripteur de disposition (par exemple, catalog_product_view), vous pouvez utiliser l'excellent module LayoutViewer d'Alan Storm sur son blog.
HTH, JD
C'est un peu ce que j'ai fait mais ça ne marche pas. Magento va-t-il charger tous les fichiers layout.xml qu'il trouve dans le thème actuel et les traiter? Par exemple, disons que je viens de vider un fichier de mise en page dans le thème de base/par défaut appelé mymodule.xml et inclure une référence comme ci-dessus, est-ce que magento va le faire? – Jon
Si vous voulez parcourir rapidement quelque chose dans une mise en page de thème, appelez le fichier local.xml, Magento vérifiera toujours ce dernier. Je trouve cela particulièrement utile pour profiter de l'héritage dans les thèmes non-par défaut. – clockworkgeek
a fait ce travail pour vous N'hésitez pas à accepter la réponse si c'est le cas ... –
vous devez ajouter une section de mise à jour de la mise en page à votre fichier de configuration des modules. en fonction de ce que vous avez dit que vous aurez besoin de quelque chose comme ceci dans votre fichier de mise en page:
<?xml version="1.0"?>
<layout version="0.1.0">
<catalog_product_view>
<reference name="head">
<action method="addJs"><script>yourscript.js</script></action>
</reference>
</catalog_product_view>
<catalog_category_view>
<reference name="head">
<action method="addJs"><script>yourscript.js</script></action>
</reference>
</catalog_category_view>
</layout>
Ensuite, dans vos modules fichier de configuration, vous aurez besoin de quelque chose comme:
Cela suppose que yourscript.js est assis à la racine du dossier js. De toute évidence, vous ne voulez pas le mettre ici, donc faire ce que Jonathan a conseillé et à utiliser:
<action method="addItem"><type>skin_js</type><name>path/file.js</name></action>
et mettre vos js dans votre dossier thèmes de la peau.
Bonne chance!
Ai-je besoin d'un routeur pour que cela fonctionne? Une simple extension faisant cela ne semble pas fonctionner ici. J'ai essayé de déposer le fichier layout.xml dans le dossier de thème par défaut et dans le dossier de thème en cours et magento ne ira pas le chercher. le fichier javascript se trouve dans le dossier racine javascript, pas les thèmes. –
J'ai compris. mauvais chemin vers le JS. Merci! –
- 1. Magento Page d'accueil Mise en page
- 2. Magento - Attribut Echo sur le produit Page
- 3. Inclure le fichier JS externe à partir de la page de base
- 4. Inclure le menu sur chaque page
- 5. Comment inclure une page JSP dans une page PHP
- 6. Page et le fichier de page
- 7. utiliser le fichier de modèle personnalisé pour la page d'accueil magento et la page du produit
- 8. Magento - titre de la page sur la page de contact
- 9. Inclure un fichier JavaScript
- 10. Magento - vérifier si cms page
- 11. Magento XML mise en page
- 12. magento - page produit 404 erreur
- 13. Compte client Magento/Dashboard page
- 14. HTML Inclure le fichier
- 15. Comment inclure HTMLPurifier sur chaque page?
- 16. Comment inclure la pagination dans la page de prix spécial Magento?
- 17. Afficher le prix Une fois sur Magento Page produit
- 18. Conditionnellement inclure le fichier javascript dans xbl
- 19. Inclure le script Jquery dans la page .js
- 20. javascript: comment inclure le fichier en fonction du sous-répertoire
- 21. Comment inclure un javascript (widget) sur une page créée en utilisant le langage de balisage Textile?
- 22. Envoyer une page Web par javascript
- 23. ajouter une page magento au catalogue
- 24. Etendre l'outil d'implémentation System.Web.UI.Page personnalisé pour inclure une propriété personnalisée accessible par page et page maître
- 25. Comment définir la base href d'une page en Javascript?
- 26. Magento - Suppression d'État actif De Page d'accueil
- 27. PHP: inclure le fichier
- 28. magento - erreur sur la page de paiement
- 29. Déplacer le curseur par programmation d'une page vers une autre page en utilisant JavaScript
- 30. pagination manquant dans la page catalogue Magento
pouvez-vous fournir des exemples de pages sur lesquelles vous souhaitez les inclure? –
Salut merci, ouais les deux pages que je veux les inclure sont les pages/catalog/category/view et catalog/product/view. – Jon