本文整理匯總了PHP中Magento\Store\Model\StoreManagerInterface::getWebsite方法的典型用法代碼示例。如果您正苦於以下問題:PHP StoreManagerInterface::getWebsite方法的具體用法?PHP StoreManagerInterface::getWebsite怎麽用?PHP StoreManagerInterface::getWebsite使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Store\Model\StoreManagerInterface
的用法示例。
在下文中一共展示了StoreManagerInterface::getWebsite方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: aroundDispatch
/**
* @param \Magento\Framework\App\Action\Action $subject
* @param callable $proceed
* @param \Magento\Framework\App\RequestInterface $request
* @return mixed
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function aroundDispatch(\Magento\Framework\App\Action\Action $subject, \Closure $proceed, \Magento\Framework\App\RequestInterface $request)
{
$defaultStore = $this->storeManager->getWebsite()->getDefaultStore();
$this->httpContext->setValue(HttpContext::CONTEXT_CURRENCY, $this->session->getCurrencyCode(), $defaultStore->getDefaultCurrency()->getCode());
$this->httpContext->setValue(StoreManagerInterface::CONTEXT_STORE, $this->httpRequest->getParam('___store', $defaultStore->getStoreCodeFromCookie()), $this->storeManager->getWebsite()->getDefaultStore()->getCode());
return $proceed($request);
}
示例2: _getConfigUrl
/**
* Get url for config settings where base url option can be changed
*
* @return string
*/
protected function _getConfigUrl()
{
$output = '';
$defaultUnsecure = $this->_config->getValue(Store::XML_PATH_UNSECURE_BASE_URL, 'default');
$defaultSecure = $this->_config->getValue(Store::XML_PATH_SECURE_BASE_URL, 'default');
if ($defaultSecure == \Magento\Store\Model\Store::BASE_URL_PLACEHOLDER || $defaultUnsecure == \Magento\Store\Model\Store::BASE_URL_PLACEHOLDER) {
$output = $this->_urlBuilder->getUrl('adminhtml/system_config/edit', ['section' => 'web']);
} else {
/** @var $dataCollection \Magento\Config\Model\Resource\Config\Data\Collection */
$dataCollection = $this->_configValueFactory->create()->getCollection();
$dataCollection->addValueFilter(\Magento\Store\Model\Store::BASE_URL_PLACEHOLDER);
/** @var $data \Magento\Framework\App\Config\ValueInterface */
foreach ($dataCollection as $data) {
if ($data->getScope() == 'stores') {
$code = $this->_storeManager->getStore($data->getScopeId())->getCode();
$output = $this->_urlBuilder->getUrl('adminhtml/system_config/edit', ['section' => 'web', 'store' => $code]);
break;
} elseif ($data->getScope() == 'websites') {
$code = $this->_storeManager->getWebsite($data->getScopeId())->getCode();
$output = $this->_urlBuilder->getUrl('adminhtml/system_config/edit', ['section' => 'web', 'website' => $code]);
break;
}
}
}
return $output;
}
示例3: execute
/**
* Execute method.
*
* @param \Magento\Framework\Event\Observer $observer
*
* @return $this
*/
public function execute(\Magento\Framework\Event\Observer $observer)
{
$order = $observer->getEvent()->getOrder();
$email = $order->getCustomerEmail();
$website = $this->storeManager->getWebsite($order->getWebsiteId());
$storeName = $this->storeManager->getStore($order->getStoreId())->getName();
//if api is not enabled
if (!$this->helper->isEnabled($website)) {
return $this;
}
//automation enrolment for order
if ($order->getCustomerIsGuest()) {
// guest to automation mapped
$programType = 'XML_PATH_CONNECTOR_AUTOMATION_STUDIO_GUEST_ORDER';
$automationType = \Dotdigitalgroup\Email\Model\Sync\Automation::AUTOMATION_TYPE_NEW_GUEST_ORDER;
} else {
// customer to automation mapped
$programType = 'XML_PATH_CONNECTOR_AUTOMATION_STUDIO_ORDER';
$automationType = \Dotdigitalgroup\Email\Model\Sync\Automation::AUTOMATION_TYPE_NEW_ORDER;
}
$programId = $this->helper->getAutomationIdByType($programType, $order->getWebsiteId());
//the program is not mapped
if (!$programId) {
return $this;
}
try {
$this->automationFactory->create()->setEmail($email)->setAutomationType($automationType)->setEnrolmentStatus(\Dotdigitalgroup\Email\Model\Sync\Automation::AUTOMATION_STATUS_PENDING)->setTypeId($order->getId())->setWebsiteId($website->getId())->setStoreName($storeName)->setProgramId($programId)->save();
} catch (\Exception $e) {
$this->helper->debug((string) $e, []);
}
return $this;
}
示例4: afterDelete
/**
* @param DesignConfigRepository $subject
* @param DesignConfigInterface $designConfig
* @return DesignConfigInterface
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function afterDelete(DesignConfigRepository $subject, DesignConfigInterface $designConfig)
{
$website = in_array($designConfig->getScope(), [ScopeInterface::SCOPE_WEBSITE, ScopeInterface::SCOPE_WEBSITES]) ? $this->storeManager->getWebsite($designConfig->getScopeId()) : '';
$store = in_array($designConfig->getScope(), [ScopeInterface::SCOPE_STORE, ScopeInterface::SCOPE_STORES]) ? $this->storeManager->getStore($designConfig->getScopeId()) : '';
$this->eventManager->dispatch('admin_system_config_changed_section_design', ['website' => $website, 'store' => $store]);
return $designConfig;
}
示例5: toOptionArray
/**
* Get options.
*
* @return array
*/
public function toOptionArray()
{
$fields = [];
$fields[] = ['value' => '0', 'label' => '-- Disabled --'];
$websiteName = $this->request->getParam('website', false);
$website = $websiteName ? $this->storeManager->getWebsite($websiteName) : 0;
if ($this->helper->isEnabled($website)) {
$savedPrograms = $this->registry->registry('programs');
//get saved datafileds from registry
if (is_array($savedPrograms)) {
$programs = $savedPrograms;
} else {
//grab the datafields request and save to register
$client = $this->helper->getWebsiteApiClient($website);
$programs = $client->getPrograms();
$this->registry->unregister('programs');
$this->registry->register('programs', $programs);
}
//set the api error message for the first option
if (isset($programs->message)) {
//message
$fields[] = ['value' => 0, 'label' => $programs->message];
} elseif (!empty($programs)) {
//loop for all programs option
foreach ($programs as $program) {
if (isset($program->id) && $program->status == 'Active') {
//@codingStandardsIgnoreStart
$fields[] = ['value' => $program->id, 'label' => addslashes($program->name)];
//@codingStandardsIgnoreEnd
}
}
}
}
return $fields;
}
示例6: dispatch
/**
* Set new customer group to all his quotes
*
* @param \Magento\Framework\Event\Observer $observer
* @return void
*/
public function dispatch(\Magento\Framework\Event\Observer $observer)
{
/** @var CustomerData $customerDataObject */
$customerDataObject = $observer->getEvent()->getCustomerDataObject();
/** @var CustomerData $origCustomerDataObject */
$origCustomerDataObject = $observer->getEvent()->getOrigCustomerDataObject();
if ($customerDataObject->getGroupId() !== $origCustomerDataObject->getGroupId()) {
/**
* It is needed to process customer's quotes for all websites
* if customer accounts are shared between all of them
*/
/** @var $websites \Magento\Store\Model\Website[] */
$websites = $this->_config->isWebsiteScope() ? array($this->_storeManager->getWebsite($customerDataObject->getWebsiteId())) : $this->_storeManager->getWebsites();
foreach ($websites as $website) {
$quote = $this->_quoteFactory->create();
$quote->setWebsite($website);
$quote->loadByCustomer($customerDataObject->getId());
if ($quote->getId()) {
$quote->setCustomerGroupId($customerDataObject->getGroupId());
$quote->collectTotals();
$quote->save();
}
}
}
}
示例7: dispatch
/**
* Set new customer group to all his quotes
*
* @param Observer $observer
* @return void
*/
public function dispatch(Observer $observer)
{
/** @var \Magento\Customer\Api\Data\CustomerInterface $customer */
$customer = $observer->getEvent()->getCustomerDataObject();
/** @var \Magento\Customer\Api\Data\CustomerInterface $origCustomer */
$origCustomer = $observer->getEvent()->getOrigCustomerDataObject();
if ($customer->getGroupId() !== $origCustomer->getGroupId()) {
/**
* It is needed to process customer's quotes for all websites
* if customer accounts are shared between all of them
*/
/** @var $websites \Magento\Store\Model\Website[] */
$websites = $this->config->isWebsiteScope() ? [$this->storeManager->getWebsite($customer->getWebsiteId())] : $this->storeManager->getWebsites();
foreach ($websites as $website) {
try {
$quote = $this->quoteRepository->getForCustomer($customer->getId());
$quote->setWebsite($website);
$quote->setCustomerGroupId($customer->getGroupId());
$quote->collectTotals();
$this->quoteRepository->save($quote);
} catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
}
}
}
}
示例8: aroundExecute
/**
* @param \Magento\Framework\App\ActionInterface $subject
* @param callable $proceed
* @param \Magento\Framework\App\RequestInterface $request
* @return mixed
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function aroundExecute(
\Magento\Framework\App\ActionInterface $subject,
\Closure $proceed,
\Magento\Framework\App\RequestInterface $request
) {
/** @var \Magento\Store\Model\Store $defaultStore */
$defaultStore = $this->storeManager->getWebsite()->getDefaultStore();
$requestedStoreCode = $this->httpRequest->getParam(
StoreResolverInterface::PARAM_NAME,
$this->storeCookieManager->getStoreCodeFromCookie()
);
/** @var \Magento\Store\Model\Store $currentStore */
$currentStore = $requestedStoreCode ? $this->storeManager->getStore($requestedStoreCode) : $defaultStore;
$this->httpContext->setValue(
StoreManagerInterface::CONTEXT_STORE,
$currentStore->getCode(),
$this->storeManager->getDefaultStoreView()->getCode()
);
$this->httpContext->setValue(
HttpContext::CONTEXT_CURRENCY,
$this->session->getCurrencyCode() ?: $currentStore->getDefaultCurrencyCode(),
$defaultStore->getDefaultCurrencyCode()
);
return $proceed($request);
}
示例9: prepareItem
/**
* Get data
*
* @param array $item
* @return string
*/
protected function prepareItem(array $item)
{
if ($item['website_id'] == Website\Options::ALL_WEBSITES) {
return __('All Websites');
}
return $this->storeManager->getWebsite($item['website_id'])->getName();
}
示例10: getScope
/**
* {@inheritdoc}
*/
public function getScope($scopeId = null)
{
$scope = $this->_storeManager->getWebsite($scopeId);
if (!$scope instanceof \Magento\Framework\App\ScopeInterface) {
throw new \Magento\Store\Model\Exception('Invalid scope object');
}
return $scope;
}
示例11: getCondition
/**
* Get options for grid filter
*
* @return null|array
*/
public function getCondition()
{
$id = $this->getValue();
if (!$id) {
return null;
}
$website = $this->_storeManager->getWebsite($id);
return ['in' => $website->getStoresIds(true)];
}
示例12: build
/**
* Build index query
*
* @param RequestInterface $request
* @return Select
*/
public function build(RequestInterface $request)
{
$select = $this->getSelect()->from(['search_index' => $this->resource->getTableName($request->getIndex())], ['entity_id' => 'search_index.product_id'])->joinLeft(['category_index' => $this->resource->getTableName('catalog_category_product_index')], 'search_index.product_id = category_index.product_id' . ' AND search_index.store_id = category_index.store_id', []);
$isShowOutOfStock = $this->config->isSetFlag('cataloginventory/options/show_out_of_stock', ScopeInterface::SCOPE_STORE);
if ($isShowOutOfStock === false) {
$select->joinLeft(['stock_index' => $this->resource->getTableName('cataloginventory_stock_status')], 'search_index.product_id = stock_index.product_id' . $this->getReadConnection()->quoteInto(' AND stock_index.website_id = ?', $this->storeManager->getWebsite()->getId()), [])->where('stock_index.stock_status = ?', 1);
}
return $select;
}
示例13: getCustomerByEmail
/**
* @param string $email
* @return bool|\Magento\Customer\Model\Customer
*/
public function getCustomerByEmail($email)
{
/** @var \Magento\Customer\Model\Customer $customer */
$customer = $this->customerFactory->create();
$customer->setWebsiteId($this->storeManager->getWebsite()->getId());
$customer->loadByEmail($email);
if ($customer->getId()) {
return $customer;
}
return false;
}
示例14: execute
/**
* Adds New Relic custom parameters per request for store, website, and logged in user if applicable
*
* @param Observer $observer
* @return void
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function execute(Observer $observer)
{
if ($this->config->isNewRelicEnabled()) {
$this->newRelicWrapper->addCustomParameter(Config::STORE, $this->storeManager->getStore()->getName());
$this->newRelicWrapper->addCustomParameter(Config::WEBSITE, $this->storeManager->getWebsite()->getName());
if ($this->customerSession->isLoggedIn()) {
$customer = $this->customerRepository->getById($this->customerSession->getCustomerId());
$this->newRelicWrapper->addCustomParameter(Config::CUSTOMER_ID, $customer->getId());
$this->newRelicWrapper->addCustomParameter(Config::CUSTOMER_NAME, $customer->getFirstname() . ' ' . $customer->getLastname());
}
}
}
示例15: _afterLoad
/**
* Substitute empty value with Default country.
*
* @return void
*/
protected function _afterLoad()
{
$value = (string) $this->getValue();
if (empty($value)) {
if ($this->getWebsite()) {
$defaultCountry = $this->_storeManager->getWebsite($this->getWebsite())->getConfig(\Magento\Directory\Helper\Data::XML_PATH_DEFAULT_COUNTRY);
} else {
$defaultCountry = $this->directoryHelper->getDefaultCountry($this->getStore());
}
$this->setValue($defaultCountry);
}
}