Magento 2 — це гнучка платформа електронної комерції, яка надає вам різноманітні можливості для налаштування магазину відповідно до ваших потреб. Таким чином, як розробник, ви маєте добре знати як застосовувати кодування, щоб усе працювало досконало.
Існують десятки завдань, які потрібно вирішити програмно, наприклад, отримати поточну URL або отримати продукт за ID. Однак все завжди зводиться до налаштування. Тому також може бути корисно знати, як отримати значення налаштування (config value) в Magento 2. І це саме те, що ви навчитеся робити сьогодні.
Отримати значення налаштування можна двома способами. Давайте розглянемо кожен з них детальніше.
Зміст [приховати]
Отримайте значення налаштування через dependency injection
Одним із найпоширеніших методів отримання значення налаштування є dependency injection.
Щоб застосувати його, вам потрібно піти у phtml block file і створити функцію a _construct:
<?php
namespace Vendor\ModuleName;
class ClassName
{
public $scopeConfig;
public function __construct(
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
) {
$this->scopeConfig = $scopeConfig;
}
public function getConfigValue($sku)
{
return $this->scopeConfig->getValue(
'section/group/field',
\Magento\Store\Model\ScopeInterface::SCOPE_STORE,
);
}
}
Отримайте значення налаштування через object manager
Існує ще один метод, яким можна отримати значення налаштування. Ви також можете використати object manager.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get(Magento\Framework\App\State::class);
$state->setAreaCode('adminhtml');
$scopeConfig = $objectManager->create(\Magento\Framework\App\Config\ScopeConfigInterface::class);
$valueFromConfig = $scopeConfig->getValue(
'mfblog/general/enabled',
\Magento\Store\Model\ScopeInterface::SCOPE_STORE,
);
Примітка: ми не рекомендуємо вдаватися до прямого використання методу object manager. Незважаючи на те, що він досить простий, він приховує справжні залежності класу.
Отож, тут ви маєте два можливих шляхи отримання значення налаштування в Magento 2. Просто оберіть той, з яким вам найзручніше працювати.
Проте ви, звісно, не маєте на цьому зупинятися. Ви також можете дізнатися як отримати дані замовлення за increment ID, щоб краще підготуватися до різних випадків у процесі розробки.