{"id":1343,"date":"2016-04-09T10:00:17","date_gmt":"2016-04-09T08:00:17","guid":{"rendered":"http:\/\/www.h-hennes.fr\/blog\/?p=1343"},"modified":"2016-04-09T10:00:17","modified_gmt":"2016-04-09T08:00:17","slug":"magento-surcharger-config-xml-ou-system-xml","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2016\/04\/09\/magento-surcharger-config-xml-ou-system-xml\/","title":{"rendered":"Magento : Surcharger config.xml ou system.xml"},"content":{"rendered":"<p>Le syst\u00e8me d&rsquo;override de Magento est tr\u00e8s puissant et relativement facile \u00e0 mettre en place pour les Blocks , Helper et mod\u00e8les.<\/p>\n<p>En effet ( m\u00eame si ce n&rsquo;est pas la m\u00e9thode recommand\u00e9e) , il est possible de copier le fichier \u00e0 surcharger de son arborescence initiale vers le codePool <strong>local<\/strong>, et d&rsquo;y r\u00e9aliser directement les modifications.<\/p>\n<p>Ex pour le module Cms :<br \/>\napp\/code\/<strong>core<\/strong>\/Mage\/Cms\/Block\/Page.php vers app\/code\/<strong>core<\/strong>\/Mage\/Cms\/Block\/Page.php<br \/>\napp\/code\/<strong>core<\/strong>\/Mage\/Cms\/Helper\/Page.php vers app\/code\/<strong>core<\/strong>\/Mage\/Cms\/Helper\/Page.php<br \/>\napp\/code\/<strong>core<\/strong>\/Mage\/Cms\/Model\/Page.php vers app\/code\/<strong>core<\/strong>\/Mage\/Cms\/Model\/Page.php<\/p>\n<p>Cette surcharge permets \u00e9galement de surcharger les modules plac\u00e9s dans le codePool Community, car si un fichier avec la m\u00eame arborescence existe dans le codePool local, c&rsquo;est toujours lui qui sera utilis\u00e9.<\/p>\n<p>En revanche pour surcharger un fichier config.xml ou system.xml , il va \u00eatre n\u00e9cessaire de cr\u00e9er un module.<br \/>\n( Je ne d\u00e9taille pas la cr\u00e9ation de celui-ci )<\/p>\n<p>Commen\u00e7ons par le fichier config.xml<\/p>\n<p>Le principe de l&rsquo;override est simple, nous allons cr\u00e9er dans le fichier <strong>config.xml<\/strong> de notre module le m\u00eame chemin xml que celui que nous souhaitons overrider.<\/p>\n<p>Plusieurs exemples :<\/p>\n<ul>\n<li>Lancer l&rsquo;indexation des prix via une tache cron 2 fois par jours au lieu d&rsquo;une fois<\/li>\n<li>D\u00e9sactiver l&rsquo;observer customer_save_after du module Mage_newsletter<\/li>\n<\/ul>\n<p>Avant toute chose, pour que votre module soit bien charg\u00e9 apr\u00e8s les modules que nous souhaitons r\u00e9\u00e9crire il est n\u00e9cessaire de le sp\u00e9cifier dans les d\u00e9pendances du module via le noeud <em>depends<\/em><\/p>\n<pre lang=\"xml\" escaped=\"true\">&lt;depends&gt;\r\n    &lt;Mage_Catalog \/&gt;\r\n    &lt;Mage_Newsletter \/&gt;\r\n&lt;\/depends&gt;\r\n<\/pre>\n<p>Et voici ce que nous devons mettre dans notre fichier config.xml<\/p>\n<pre lang=\"xml\" escaped=\"true\">&lt;frontend&gt;\r\n    &lt;events&gt;\r\n        &lt;customer_save_after&gt;\r\n            &lt;observers&gt;\r\n                &lt;newsletter_subscribe_observer&gt;\r\n                    &lt;type&gt;disabled&lt;\/type&gt; &lt;!-- D\u00e9sactivation de l'observer --&gt;\r\n                &lt;\/newsletter_subscribe_observer&gt;\r\n            &lt;\/observers&gt;\r\n        &lt;\/customer_save_after&gt;\r\n    &lt;\/events&gt;\r\n&lt;\/frontend&gt;\r\n&lt;crontab&gt;\r\n    &lt;jobs&gt;\r\n        &lt;catalog_product_index_price_reindex_all&gt;\r\n            &lt;schedule&gt;\r\n                &lt;cron_expr&gt;0 2,14 * * *&lt;\/cron_expr&gt; &lt;!-- Changement de la programmation cron --&gt;\r\n            &lt;\/schedule&gt;\r\n        &lt;\/catalog_product_index_price_reindex_all&gt;\r\n    &lt;\/jobs&gt;\r\n&lt;\/crontab&gt;<\/pre>\n<p>Notre fichier de configuration xml \u00e9tant charg\u00e9 apr\u00e8s les modules du c\u0153ur, leur configuration va \u00eatre \u00e9cras\u00e9e ou compl\u00e9t\u00e9e par les informations de notre module \ud83d\ude42<\/p>\n<p>Le fonctionnement est exactement le m\u00eame pour le fichier <strong>system.xml<\/strong><br \/>\nIl faut reprendre le m\u00eame chemin xml, et changer les valeurs souhait\u00e9es.<\/p>\n<p>Exemple :<br \/>\n&#8211; Possibilit\u00e9 d&rsquo;activer le module de livraison FreeShipping par Magasin ( au lieu de par Site par d\u00e9faut )<\/p>\n<p>Dans le fichier <strong>system.xml<\/strong> de notre module nous allons mettre les informations suivantes :<\/p>\n<pre lang=\"xml\" escaped=\"true\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;config&gt;\r\n    &lt;sections&gt;\r\n        &lt;carriers&gt;\r\n            &lt;groups&gt;\r\n                &lt;freeshipping&gt;\r\n                    &lt;fields&gt;\r\n                        &lt;active&gt;\r\n                            &lt;show_in_store&gt;1&lt;\/show_in_store&gt;&lt;!-- Remplacement de 0 par 1 --&gt;\r\n                        &lt;\/active&gt;\r\n                    &lt;\/fields&gt;\r\n                &lt;\/freeshipping&gt;\r\n            &lt;\/groups&gt;\r\n        &lt;\/carriers&gt;\r\n    &lt;\/sections&gt;\r\n&lt;\/config&gt;\r\n<\/pre>\n<p>Et voila vous savez \u00e0 pr\u00e9sent comment surcharger les fichiers de configuration magento ! \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le syst\u00e8me d&rsquo;override de Magento est tr\u00e8s puissant et relativement facile \u00e0 mettre en place pour les Blocks , Helper et mod\u00e8les. En effet ( m\u00eame si ce n&rsquo;est pas la m\u00e9thode recommand\u00e9e) , il est possible de copier le fichier \u00e0 surcharger de son arborescence initiale vers le codePool local, et d&rsquo;y r\u00e9aliser directement [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[246],"tags":[432,150,433,431],"class_list":["post-1343","post","type-post","status-publish","format-standard","hentry","category-magento-2","tag-config-xml","tag-magento","tag-override","tag-system-xml"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/comments?post=1343"}],"version-history":[{"count":3,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1343\/revisions"}],"predecessor-version":[{"id":1346,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1343\/revisions\/1346"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=1343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=1343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=1343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}