Magento 2의`core_config_data` 테이블에서 값을 얻는 방법


41

Magento 1.x Mage::getStoreConfig('sections/groups/fields')core_config_data테이블에서 데이터를 가져옵니다 .

Magento2가 core_config_data테이블 에서 값을 얻는 방법 ?

답변:


100

사용 가능한 기본 메소드를 호출해야합니다.

\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig생성자 인수 에서을 사용 하고 클래스 속성을 설정하십시오.$this->scopeConfig = $scopeConfig;

이제 구성 값을 얻으려면 사용하십시오.

$this->scopeConfig->getValue('dev/debug/template_hints', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);

이 링크 에서 답변을 얻었으며 이것을 참조 하십시오.


3
좋은 하나 Meenakshi! 그것을 유지
anshuman

magento 파일 시스템이나 모듈이 아닌 별도의 스크립트에서 어떻게 구할 수 있습니까? 스크립트에서 클래스를 만들어 인스턴스화하면 클래스에서 무엇을 상속해야하며 모든 적절한 파일을 어떻게로드해야합니까?
ahnbizcad

어떤 범위에서 구성을 가져 옵니까? 고객이 현재 본 상점보기?
Erfan

예, 고객의 현재 매장보기가 필요합니다
MeenakshiSundaram R

@MeenakshiSundaramR이 게시물과 별도로 sku를 사용하여 선택한 제품에 대해 무료 배송 방법을 요청하고 있습니다. magento.stackexchange.com/q/215022/57334
zus

4

사용자 정의 모듈의 헬퍼에서 구성 값을 가져 오는 함수를 작성하십시오.

public function getConfig($config_path)
{
    return $this->scopeConfig->getValue(
            $config_path,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
            );
}

예를 들어 test.phtml에서 원하는 곳으로 전화하십시오.

$moduleStatus = $this->helper('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');

블록 및 도우미에서 다음과 같이 호출하십시오.

 $this->_objectManager->create('Customvendorname\Custommodulename\Helper\Data')->getConfig('sectionid/groupid/fieldid');

7
DI 승인을 선호하는 것은 M2에서 권장됩니다. 따라서 사용 $this->_objectManager->create(...)을 피해야합니다.
Anna Völkl 2016 년

@ AnnaVölkl에게 감사드립니다. 그 대신 대체 답변을 여기에 게시하십시오.
Manish

위의 답변을 참조하십시오.
Anna Völkl

3

변수를 검색하기 위해 다음 방법을 사용했습니다.

if (empty($this->_data['welcome'])) {
        $this->_data['welcome'] = $this->_scopeConfig->getValue(
            'design/header/welcome',
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE
        );
    }
    return $this->_data['welcome'];
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.