2017-02-24 6 views
0

Magento2のカスタムcore_config_data値を取得しようとしましたが、他のトピックで説明していますが、店舗IDに関連する値が間違っています。私はのは、いくつかの関連のコードから始めましょう、説明しよう。ここでは何が起こるMagento2:店舗ごとに設定データの値が間違っています

public function __construct(
    \Psr\Log\LoggerInterface $logger, 
    \Magento\Store\Model\StoreManagerInterface $storeManager, 
    \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig) {..} 

    { 
    $store = $this->storeManager->getStore(); 
    $this->logger->debug($store->getId() . ": " . $store->getCode()); 
    $message = $this->scopeConfig->getValue(self::CONF_MESSAGE, 
     \Magento\Store\Model\ScopeInterface::SCOPE_STORE); 
    $link = $this->scopeConfig->getValue(self::CONF_LINK, 
     \Magento\Store\Model\ScopeInterface::SCOPE_STORE); 

店舗ID店舗コード正しいであるということです。私は$message$linkに入った

main.DEBUG: 3: tedesco 

値がない正しいある参照ログに :彼らは別のストアの値であり、デバッグログから示すように、(正しいストアIDが3である必要がありますが、値はID 1の店舗からのものです)。

もちろん、私はDBをチェックしており、値は画像のとおりです:DB values

Magento 2.1.4。

ヒント

ありがとうございます。

答えて

1

ストアIDまたはストアIDを3番目のパラメータに渡すとどうなりますか?

$message = $this->scopeConfig->getValue(self::CONF_MESSAGE, 
    \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $store); 
+0

$ store( '$ store = $ this-> storeManager-> getStore();')は、私が渡さなければならなかったパラメータでした。 –

+0

歓迎ですが、3番目のパラメータを渡さないと、デフォルトで現在のストアを取得しなければならないと仮定しています。 –

+0

そして私は 'SCOPE_STORE'を使って"スコープはストアなので、現在のストアを使う "と言っていたと仮定していました。私は 'getValue()'関数コードをチェックするつもりはないと確信していました。それは大きな間違いでした...もう一度感謝します –

関連する問題