hollahollaのbruva:
Recoverable Error: Argument 1 passed to Magento\Store\Model\Information::getStoreInformationObject() must be an instance of Magento\Store\Model\Store, none given
は、ここに私のコードです
私は同じ問題を抱えていたし、私何からソリューション
Here
を見つけましたgetStoreInformationObject関数の引数としてストアオブジェクトを設定する必要があります。これを行うには、
\Magento\Store\Model\StoreManagerInterface
モデルをコンストラクタに挿入します。
次はこの
$this->_storeManagerInterface = $storeManagerInterface;
のための変数を作成し、getStoreInformationObject()
関数の引数としてgetStore()
関数を渡します。
$this->_storeInfo->getStoreInformationObject($this->_storeManagerInterface->getStore())->getPhone();
あなたの最終的なコードは次のようになります。私も、これはエラーをスローしますと値が空でないことを確認するために、いくつかの検証を追加
class Helloworld extends \Magento\Framework\View\Element\Template{
protected $_storeInfo;
protected $_storeManagerInterface;
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Store\Model\Information $storeInfo,
\Magento\Store\Model\StoreManagerInterface $storeManagerInterface,
array $data = []
)
{
parent::__construct($context, $data);
$this->_storeInfo = $storeInfo;
$this->_storeManagerInterface = $storeManagerInterface;
}
public function getPhoneNumber()
{
$telephone = $this->_storeInfo->getStoreInformationObject($this->_storeManagerInterface->getStore())->getPhone();
return (!empty($telephone)) ? $telephone : '' ;
}
}
。
私はこれを手伝いました。 幸運