Aangepaste back-end-configuratie in Magento

In deze zelfstudie ga ik de configuratie van aangepaste modules in de back-end van Magento demonstreren. Het is altijd handig om een ​​reeks configureerbare opties van de module in de back-end te bieden, waarmee beheerders eenvoudig modulespecifieke instellingen kunnen configureren. We zullen het proces van het instellen van de moduleconfiguratie doorlopen door een aangepaste module in Magento te maken.

Inleiding tot aangepaste configuratie in Magento

Als ontwikkelaar zou je tijdens het proces van het maken van aangepaste modules het gevoel kunnen hebben dat het leuk zou zijn als je de besturing van bepaalde modulespecifieke instellingen naar de back-end zou kunnen overbrengen. Met Magento kunt u dit bereiken met behulp van een op XML-bestanden gebaseerd configuratiesysteem. Je hoeft alleen maar de bestanden in te stellen volgens de conventies van Magento, en ze worden auto-magisch opgepikt! Meestal zult u te maken hebben met een groot aantal configureerbare instellingen van de kernmodules tijdens het instellen van de basis front-end store.

Ik neem aan dat je bekend bent met het maken van basismodules in Magento. Hier is een leuk artikel, als u meer wilt weten over aangepaste modules in Magento. Dat gezegd hebbende, volgt Magento de conventie over het configuratieparadigma, waardoor dingen gemakkelijker te begrijpen zijn als u een newbie bent voor het ontwikkelproces van de aangepaste module..

Maak een aangepaste module om aangepaste configuratie te bieden

Voor deze cursus maak ik een eenvoudige aangepaste module met de naam "CustomConfig" die de back-endconfiguratie biedt onder de Systeem> Configuratie menu. Hier is de lijst met bestanden die nodig zijn voor de gewenste setup:

  • app / etc / modules / Envato_All.xml: Het is een bestand dat wordt gebruikt om onze aangepaste module in te schakelen.
  • app / code / local / Envato / CustomConfig / etc / config.xml: Het is een module-configuratiebestand.
  • app / code / local / Envato / CustomConfig / etc / System.Xml: Het is een bestand dat de configuratie-opties voor onze module declareert.
  • app / code / local / Envato / CustomConfig / Model / Options.php: Het is een modelbestand dat de opties voor bepaalde vormelementen van de configuratie biedt.
  • app / code / local / Envato / CustomConfig / Helper / data.php: Het is een bestand dat wordt gebruikt door het Magento-vertaalsysteem.

Bestanden instellen

Om te beginnen maken we een module-enabler-bestand. Maak een bestand "app / etc / modules / Envato_All.xml" en plak de volgende inhoud in dat bestand. We hebben "Envato" gebruikt als onze modulenaamruimte en "CustomConfig" als onze modulenaam. Het zal standaard onze "CustomConfig" -module inschakelen.

    waar lokaal   

Vervolgens moeten we een moduleconfiguratiebestand maken. Maak "app / code / local / Envato / CustomConfig / etc / config.xml" en plak de volgende inhoud in dat bestand.

    0.0.1      Envato_CustomConfig_Helper     Envato_CustomConfig_Model              Aangepaste configuratiesectie           

U moet bekend zijn met de model- en helperclasseverklaring volgens de Magento-conventies. Natuurlijk, de  tag is nieuw voor jou, en dat is iets waar we ons zorgen over maken in de context van deze tutorial. Laten we elk label in detail doornemen om te begrijpen waar het voor staat.

De tag wordt gebruikt om de resources van de admin-kant te definiëren. In ons voorbeeld is de configuratiepagina voor onze module een hulpbron. Verder hebben we de  tag om een ​​te verpakken tag, wat betekent dat het alleen toegankelijk is voor geverifieerde gebruikers. 

De volgende paar tags worden gebruikt om het pad van onze back-endconfiguratiepagina te definiëren. Het pad naar onze configuratiepagina ziet er dus als volgt uit: "admin / system / config / customconfig_options". Natuurlijk, de laatste tag moet uniek zijn, zodat het niet in conflict komt met andere extensies.

Laten we verder gaan met definiëren van het belangrijkste bestand, "system.xml". Maak "app / code / local / Envato / CustomConfig / etc / system.xml" en plak de volgende inhoud in dat bestand.

     1      customconfig tekst 1 1 1 1    tekst 1 1 1 1    tekst 1 1 1 1 Voorbeeld van tekstveld.      tekst 2 1 1 1    kiezen customconfig / options 1 1 1 1 Voorbeeld van select veld.    radio's customconfig / options 2 1 1 1 Voorbeeld van een radio veld.    multi-Select customconfig / options 3 1 1 1 Voorbeeld van een multiselect-veld.       

Zoals je misschien al geraden hebt, is dit bestand verantwoordelijk voor het weergeven van een configuratiepagina van onze module aan de achterkant. Laten we enkele van de belangrijke tags in dat bestand nader bekijken.

De tag wordt gebruikt om tabbladen te definiëren die aan de linkerkant van de configuratiepagina worden weergegeven. En de tag wordt gebruikt om secties onder elk tabblad te definiëren. 

Laten we het proberen te begrijpen door een voorbeeld. Ga naar Systeem> Configuratie aan het einde van Magento. Je zult merken dat er verschillende tabbladen zijn zoals Algemeen, Catalogus, Klanten, enz. 

Onder elk tabblad ziet u ook verschillende secties. Bijvoorbeeld onder de gevorderd tag, er zijn Beheerder, Systeem, Geavanceerd en Ontwikkelaar secties. In ons geval hebben we een Aangepaste configuratie-instellingen sectie onder de Aangepaste configuratietab.

Vervolgens gebruiken we de  tag om vergelijkbare configuratievelden samen te groeperen. U wilt bijvoorbeeld aan afbeeldingen gerelateerde velden en aan e-mail gerelateerde velden onder verschillende secties weergeven. Daarvoor hebben we gedefinieerd en labels.

Ten slotte verpakken we de velden van elke sectie met de  label. In ons voorbeeld hebben we een tekstveld opgegeven onder de veld "Sectie één", terwijl andere velden zoals selectievak, keuzerondje en multi-select beschikbaar zijn in de veld "Sectie twee". Dus dat is het voor het bestand "system.xml".

Laten we vervolgens een modelbestand maken "app / code / local / Envato / CustomConfig / Model / Options.php".

1, 'label' => 'Een'), array ('waarde' => 2, 'label' => 'Twee'), array ('waarde' => 3, 'label' => 'Drie'), array ('waarde' => 4, 'label' => 'Four')); 

Hier is niets speciaals - het wordt alleen gebruikt om opties naar een radioveldveld te sturen en het formulierveld in het configuratieformulier te selecteren.

Ten slotte moeten we het bestand "app / code / local / Envato / CustomConfig / Helper / Data.php" maken om ervoor te zorgen dat het vertaalsysteem van Magento naar behoren werkt. Het is bijna een leeg bestand, maar zou er volgens de conventies moeten zijn!

We hebben gedaan met het instellen van de bestanden. In het volgende gedeelte zullen we controleren hoe het eruit ziet in de back-end van Magento.

Loop door de back-end om aangepaste configuratie te testen

Ga naar de achterkant van Magento en wis alle caches. Het kan worden bereikt door naar Systeem> Cache Management

Ga nu naar Systeem> Configuratie om de configuratiepagina te openen. Dat zou je moeten opmerken CUSTOM CONFIGURATION TAB aan de linkerkant van de pagina. Onder dat, de Aangepaste configuratie-instellingen link beschikbaar is, en als u hierop klikt, wordt een configuratiepagina voor onze module geopend. Als je het niet kunt zien, probeer je af te melden bij het beheerdersgedeelte en opnieuw aan te melden.


Het is een mooie interface die uit de doos werkt, niet waar? Je kunt een beetje rond spelen, het formulier invullen en op de. Klikken Config opslaan om de wijzigingen door te voeren, en Magento zal de rest afhandelen.

Om toegang te krijgen tot de waarden van de configuratieparameters in de code, kunt u de getStoreConfig statische methode. U kunt bijvoorbeeld de waarde van de ophalen custom_field_one parameter met behulp van de volgende syntaxis:

Mage :: getStoreConfig ( 'customconfig_options / section_one / custom_field_one');

De syntaxis is redelijk eenvoudig: u moet het patroon "section_name / group_name / field_name" gebruiken zoals gedefinieerd in het bestand system.XML.

Conclusie

De configuratie van het beheerderssysteem is een van de sterkste en nuttigste onderdelen van Magento. Met Magento kunt u heel eenvoudig aangepaste configuratieparameters inpluggen, dankzij de uitbreidbaarheid van een van de krachtigste e-commerce systemen! Deel uw mening met behulp van de onderstaande feed!