Magento 2 – получить значения scopeconfig

Я работаю над Magento 2.

Но не удалось найти решения для получения значений scopeconfig в XML-файлах макета.

В magento 1.x, как показано ниже.

<block type="cms/block" ...>
    <action method="..." ifconfig="config_path/config"></action>
</block>

В magento 2, как использовать «ifconfig» в макете xml?


person skynetch    schedule 15.09.2015    source источник


Ответы (5)


То же самое с magento 1.x.

Вы можете использовать, как показано ниже.

<block class="Magento\Framework\View\Element\Html\Link\Current" ifconfig="catalog/seo/search_terms" name="search-term-popular-link">
person John    schedule 17.09.2015
comment
Как использовать его в файлах phtml? - person skynetch; 17.09.2015

Вы можете просто использовать как

<block class="Ced\Abhinay\Block\Account\Active" ifconfig="ced/account/activation" name="ced_account_activation">

Где

Ced = ваше пространство имен

Abhinay = название вашего модуля

person abhinay pratap singh    schedule 02.09.2018

Метод 1: использование диспетчера объектов

<?php
     $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
     $conf = $objectManager
             ->get('Magento\Framework\App\Config\ScopeConfigInterface')
             ->getValue('section_id/group_id/field_id');
             echo $conf;
?>

Способ 2: использование помощника

Создайте Data.php внутри папки Helper вашего модуля и напишите в нем приведенный ниже код.

<?php
namespace VendorName\ModuleName\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
    );
}
}
?>

Вы можете вызвать этого помощника внутри вашего phtml-файла, используя приведенный ниже код:

<?php
 $value=$this->helper('Megha\Menu\Helper\Data')->getConfig('section_id/group_id/field_id');
   echo $value;
?>
person Megha Jain    schedule 17.04.2019

Вы можете использовать, как показано ниже.

<block class="Magento\Rss\Block\Feeds" ifconfig="rss/config/active" name="head_rss">
person Nilesh Gosai    schedule 19.01.2018

Вы можете напрямую получить значение конфигурации области видимости в файл phtml, используя приведенный ниже код.

    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $conf = $objectManager
            ->get('Magento\Framework\App\Config\ScopeConfigInterface')
            ->getValue('group/field/value');

Функция Second Way to Created для получения значений конфигурации в помощнике вашего пользовательского модуля

<?php
namespace Vendor\Module\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
    );
}

}

Затем вы можете получить значения конфигурации для вызова этой функции в любых файлах phtml.

$this->helper('Vendor\Module\Helper\Data')->getConfig('section/group/field');

Примечание. См. приведенные ниже ссылки. https://magento.stackexchange.com/questions/84481/magento-2-how-to-get-the-extensions-configuration-values-in-the-phtml-filesвыделенный текст

person Kiran Patel    schedule 27.08.2018