웹 사이트 범위의 구성 값 가져 오기


21

특정 웹 사이트의 구성 값을 얻으려면 어떻게해야합니까?

없다 Mage::getStoreConfig()아무 뿐이다 Mage::getWebsiteConfig().

편집 :

웹 사이트 수준에서 구성 데이터를 내보내는 중이므로 웹 사이트 범위 설정을 원합니다 ...

답변:


16

일반적으로이 작업을 수행하지 않아야합니다. Mage::getStoreConfig()필드 구성에 따라 상점 값, 웹 사이트 값, 글로벌 값 또는 기본값을 자동으로 반환합니다.

그러나 실제로 상점 값을 무시하고 웹 사이트 값을 가져와야 할 경우 다음과 같이 할 수 있습니다.

Mage::app()->getWebsite()->getConfig('.../.../...')

1
websiteId를 추가하는 것을 잊지 마십시오. 즉, <br/>Mage::app()->getWebsite($websiteId)->getConfig('web/unsecure/base_url')
Eduardo

8

설정이 저장 레벨로 상속되고 일반적으로 getStoreConfig()웹 사이트 설정을 고려 하기 때문에 드문 경우 입니다.

사용할 수는 Mage_Core_Model_Website::getConfig()있지만 Mage_Core_Model_Store::getConfig()일부 처리가 수행되는 위치 (예 :의 대체 {{...}})에 약간의 차이가 있음을 알고 있어야합니다. 이러한 종류의 대체는 웹 사이트 수준에서 수행되지 않습니다.

웹 사이트 수준에서만 값을 변경할 수있는 경우 다른 옵션은 웹 사이트의 임의의 저장소 만 얻은 다음를 사용하는 것 getStoreConfig()입니다.


6

알려진 경우 특정 웹 사이트 코드를 사용하여 파생 될 수 있습니다.

$value = Mage::getConfig()->getNode('websites/[website_code]/section/group/field');
var_dump($value[0]);

정답으로 표시해야합니다. 웹 사이트에서 웹 사이트 Mage::app()->getWebsites()및 코드를 얻을 수 있습니다 .$website->getCode()
Michael

좋은 물건 @benmarks. 나는 이것이 정답으로 표시되어야한다는 것에 동의합니다. 웹 사이트별로 구성 값을 얻는 것이 일반적이지 않다는 것을 알고 있지만 어떤 경우에는 .. 예를 들어 cron 작업 작업에서 웹 사이트별로 제품 내보내기를 실행할 때이 작업을 수행해야했습니다.
Eduardo

2

틀릴 수도 있지만, 기억하는 한 구성 범위는 항상 상점에 바인딩됩니다. 웹 사이트 레벨에서 값을 설정하면 상점 레벨에서 다른 값을 설정하지 않는 한 해당 웹 사이트의 모든 상점에서 사용할 수 있습니다.

웹 사이트 A가 있고 상점 A1과 A2가 해당 웹 사이트의 상점이라고 가정하십시오. 주어진 속성에 대해 A의 값이 5라고 가정합니다

그런 다음 Mage::getStoreConfig()A1과 A2에 대해 해당 속성에 대해 5를 반환합니다. A1에 대해 속성을 3으로 설정하면 해당 속성에 대해 A1에 대해 3을, Mage::getStoreConfig()A2에 대해 5를 반환합니다.


당신은 완벽하게 맞습니다.하지만 웹 사이트 수준에서 구성 데이터를 내보내는 중입니다. 그래서 어떻게 든 웹 사이트 범위 설정을 원합니다 ... 이것은 매우 드문 경우라는 것을 알고 있습니다.
Alex

@Alex 당신도 아마 당신의 질문에 그것을 언급해야합니다;)
mpaepper
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.