In der Regel werden Magento® 2 Module mit einer ./etc/adminhtml/system.xml Datei implementiert, welche dazu dient, zusätzliche Konfigurationen unter Stores > Configuration zur Verfügung zu stellen um diverse Funktionen im konfigurierbar zu machen.
Allerdings ist es nicht immer offensichtlich, wo diese zu finden sind. Es kommt vor, dass man solche Einstellungen erst nach Minuten unter Stores > Configuration findet, was unter umständen frustrierend sein kann. Darum möchte ich gerne meine Lösung teilen, welche ich inzwischen in jedem meiner Module implementiere und welche aus meiner Sicht durch jedem Backend-Entwickler in wenigen Minuten implementiert werden kann.
XML Layout
Zuerst muss eine existierende Layout Datei ( zum Beispiel ./view/adminhtml/layout/namespace_module_custom_index.xml ) ergänzt werden.
1 2 3 4 5 6 7 8 9 |
<?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceContainer name="content"> <uiComponent name="namespace_module_custom_index"/> <block class="Magento\Framework\View\Element\Template" name="namespace.module.adminhtml.info" template="Namespace_Module::info.phtml"/> </referenceContainer> </body> </page> |
Innerhalb des Reference Containers content muss folgender Block platziert werden.
1 |
<block class="Magento\Framework\View\Element\Template" name="namespace.module.adminhtml.info" template="Namespace_Module::info.phtml"/> |
Wichtig hier ist die Referenz zum Template Namespace_Module::info.phtml welche im nächsten Schritt genauer erklärt wird.
Template
Die Referenz Namespace_Module::info.phtml im folgenden Block erwartet eine info.phtml Datei im Verzeichnis ./view/adminhtml/templates/ welche lediglich folgenden HTML Code enthalten sollte.
1 2 3 |
<div id="namespace-module"> <p><?php echo __('Go to <a href="%1">Stores > Configuration > Advanced > Admin</a> for module settings.', $this->getUrl('adminhtml/system_config/edit/section/admin')); ?></p> </div> |
Der Link-Text sowie der Parameter für getUrl muss natürlich noch geändert werden. Mein Beispiel zeigt auf Stores > Configuration > Advanced > Admin.
Cheers