Je sais que Magento a un système en forme de crochet appelé événements. Est-ce que quelqu'un a une liste complète ou un script qui peut être utilisé pour déterminer quels événements peuvent être appelés?
event-observer
magento-1
benmarks
la source
la source
Réponses:
Il n'y a pas une liste de tous les événements magento, car la plupart d'entre eux sont nommés dynamiquement.
Si vous me demandez, connaître ces événements clés (et leurs conséquences) est un bon point de départ (à côté de la liste de nick):
Chaque objet étendu de Mage_Core_Model_Abstract distribue de nombreux événements relatifs au chargement, à la sauvegarde et à la suppression:
Par exemple, pour ajouter des vérifications après le chargement de l'objet
ajouter des données supplémentaires à l'objet avant qu'il ne soit enregistré
Pour enregistrer d'autres modèles après que le "parent" a été enregistré
nettoyer, avant que le modèle est supprimé
nettoyer, avant que le modèle est supprimé - ou peut-être après? Vous êtes ici encore dans la transaction!
Si vous voulez être sûr que l'entité a été supprimée
Les collections étendues à partir de Mage_Core_Model_Resource_Db_Collection_Abstract ont également deux événements génériques:
Par exemple: pour modifier le code SQL afin de charger la collection:
Par exemple: pour ajouter des données supplémentaires aux objets:
la source
_eventPrefix
événements de modèle, les événements de demande ciblée, les événements de bloc génériques parfois utiles, et l'importance de la journalisation pour rechercher des événementsapp/code/core/Mage/Core/Model/App.php
etmage::log($eventName,null,'events.txt',true);
à ladispatchEvent
méthode. Chargez la page que j'essaie d'observer. Évidemment, ne laissez pas cela tel quel et revenez en arrière une fois que votre var / logs / events.txt est créé. Sale, oui. Vite, oui. :)Faites le sang
grep 'Mage::dispatchEvent' app/ -rsn
Cela vous donnera une liste d'événements spécifiques à votre installation comme la liste des événements peut varier en fonction de la version de Magento, personnalisations et extensions installées.la source
sales_order_place_after
cela se produira, mais il semble que l’appel à la mise à feu est commentéCheckout/Type/Onepage.php
.J'utilise cela comme une belle feuille de triche http://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/ . Il contient tous les événements pouvant être appelés en 1.7.
la source
Je sais que cette question a été répondue je viens d'ajouter mon chemin ici:
public static function dispatchEvent
(ln: ~ 446) au début j'ajoute//Mage::log($name, null, 'events.log', true);
Ensuite, ouvrez var / log / events.log (~ 40 Ko) et visualisez de nombreux événements sur cette page uniquement! :)
la source
La réponse a déjà été acceptée mais je vais quand même poster ma réponse pour l'avenir:
Si vous voulez voir la liste des événements de Magento, vous avez 3 options:
1) Google pour cela, il y a beaucoup de gens qui ont compilé une liste d'événements de Magento
2) Créez un module qui se raccorde à l'
controller_action_predispatch
événement qui est l'événement appelé avant tout autre événement. Dans ce module, vous pouvez enregistrer certains événements distribués:Ajoutez ce qui suit sur config.xml
Et à l'intérieur de votre module / modèle / observateur:
Ce qui précède consignera tous les événements expédiés ...
3) Si vous avez un accès SSH, vous pouvez exécuter la commande suivante pour obtenir une vue d'ensemble de tous les événements (et de leurs fichiers de destination):
la source
controller_action_predispatch
, notammentcontroller_front_init_before
. 2) Cette approche ne consignera tout simplement pas tous les événements envoyés. S'agit-il d'une section ou d'une section incomplète?J'utilise la barre d'outils de développement de Magento qui offre une fonctionnalité intéressante permettant d'afficher des événements pouvant être observés sur une page chargée.
la source
Ici vous pouvez voir la plupart des événements existants: http://www.magentocommerce.com/wiki/5_-_modules_and_development/reference/magento_events
la source
J'ai fait un grep sur le module de base Mage de Magento, et j'ai respecté une liste,
Liste exhaustive des événements Magento
PS Comme indiqué, peut contenir des événements appartenant à des fonctions obsolètes de Magento, il est donc important de vérifier le fichier et la référence de ligne avant la mise en œuvre.
Ouvert aux suggestions!
la source
La commande grep précédemment répertoriée rendait les doublons (beaucoup) et ne couvrait pas la liste des préfixes d'événements nécessaires à la compréhension des noms d'événements générés dynamiquement. Ces commandes affichent les deux listes avec uniquement des valeurs uniques. Vous pouvez ajouter le drapeau -n comme l'autre réponse de grep et obtenir le numéro de ligne, je suppose. Mais la question ne demandait pas où ils étaient tous dans le code. ~ _ ~
la source
theres une feuille de triche ici aussi http://mikebywaters.wordpress.com/2012/07/23/magento-event-observer-list/
la source
http://www.magentocommerce.com/wiki/5___modules_and_development/reference/magento_events
Ici vous pouvez trouver la liste complète des événements d'observateur.
la source
Référez-vous ces feuilles de triche
https://www.nicksays.co.uk/magento-events-cheat-sheet-1-8/ http://rabee.me/codes/magento/cheatsheet/1.9/
Cela vous aidera.
la source
Vous pouvez trouver toute la liste des événements backend + frontend sur un seul lien
http://www.magentocommerce.com/wiki/5___modules_and_development/reference/magento_events
la source
Si quelqu'un a besoin d'une liste à jour, j'essaie de la tenir à jour:
https://gist.github.com/digitalpianism/d8157c6b492238af2ed7809e5e3a134e
la source
Vous pouvez trouver tous les événements magento-1x en suivant l’URL. https://magento2.atlassian.net/wiki/display/m1wiki/Magento+1.x+Events+Reference
la source