W rozdziale „TWORZENIE KONFIGURACJI SYSTEMOWEJ” nauczyłeś się tworzyć ustawienia systemowe w panelu Magento:

Teraz dane konfiguracyjne wyświetlimy na froncie sklepu. W tym celu przygotuj moduł i konfigurację z poprzedniego rozdziału.
Kolejnym krokiem jest utworzenie pliku Data.php (Geek/MyModule/Helper/Data.php):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php namespace Geek\MyModule\Helper; class Data extends \Magento\Framework\App\Helper\AbstractHelper { public function getConfig($config_path) { return $this->scopeConfig->getValue( $config_path, \Magento\Store\Model\ScopeInterface::SCOPE_STORE ); } } |
Klasa ta rozszerza klasę systemową AbstractHelper i pozwala na użycie metod z interfejsu ScopeInterface. Metoda getConfig ustawia zmienną $config_path – adres do pola formularza z konfiguracji system.xml. Na przykład: getConfig(„mymodule/general/enable”). Podkreśliłem to na czerwono:

Teraz zapisz szablon, np: test.phtml w lokalizacji view/frontend/templates/test.phtml. Korzystając z uchwytu klasy Helper ($this->helper) wyświetlimy wartość systemową w taki oto sposób:
1 |
<?php echo $this->helper('Geek\MyModule\Helper\Data')->getConfig('mymodule/general/enable'); ?> |
Nie zobaczymy jeszcze efektu naszej pracy. Aby szablon był widoczny na stronie musimy dodać dwa pliki.
Blok Test.php (/Block/Test.php):
1 2 3 4 5 6 7 |
<?php namespace Geek\MyModule\Block; class Test extends \Magento\Framework\View\Element\Template { } |
oraz layout default.xml (view/frontend/layout/default.xml), który nadpisze domyślny układ:
1 2 3 4 5 6 7 8 |
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:View/Layout:etc/page_configuration.xsd"> <body> <referenceContainer name="main"> <block class="Geek\MyModule\Block\Test" template="test.phtml" /> </referenceContainer> </body> </page> |
Nowy blok z zawartością szablonu test.phtml pojawi się w obrębie sklepu w każdym kontenerze o identyfikatorze main.
I to wszystko. Przetestuj działanie modułu.