Magento 2-phtmlファイルで拡張機能の構成値を取得する方法


21

Magento 2-ベータ版を使用しています。

しかし、phtmlファイルで構成値を取得する方法を見つけることができません。

例:カスタムモジュールの構成値をMagento_Catalog/templates/product/list.phtmlファイルに取得したい。

誰もこれを行う方法を知っていますか?


実際の例を挙げていただけますか?正確に何を取得しようとしていますか?
マリウス

回答:


43

カスタムモジュールのヘルパーで設定値を取得するための関数を作成できます。

<?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');

1
ScopeConfigInterfaceが抽象ヘルパークラスから利用できることを指摘してくれてありがとう!再定義してくれました。
ロビーアヴェリル

デフォルトの設定値でこれはどのように機能しますか?ストア設定で電話番号を設定し、header.phtmlに表示する方法を把握しようとしています
フィリップ・デスラージュ

@Dmitry \Magento\Framework\App\Config\ScopeConfigInterfaceヘルパーのコンストラクターに注入する必要があると思います
fmsthird

6

別の方法は以下の通りです

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

あなたは、モデルのインスタンス化のために、オブジェクト・マネージャを使用しないでください
デイブ

ここのこれはすっごく間違っています。
メディナ

0

Rushviの答えの訂正:その section/group/field

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

また、ストアフィルターを追加する場合、たとえばストア構成レベルで保存する場合にテキストを表示する場合は、次を追加します。

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeScope = \Magento\Store\Model\ScopeInterface::SCOPE_STORES;
$conf = $objectManager->get('Magento\Framework\App\Config\ScopeConfigInterface')->getValue('carriers/freeshipping/extra_info',$storeScope);

第二に批評について:DIを介してブロッククラスのコンストラクターに含めるのは良いことです。ここにコンセプトがあります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.