本文整理汇总了PHP中Magento\Customer\Helper\View类的典型用法代码示例。如果您正苦于以下问题:PHP View类的具体用法?PHP View怎么用?PHP View使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了View类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testEmulateWelcomeBlock
/**
* @magentoConfigFixture current_store persistent/options/enabled 1
* @magentoConfigFixture current_store persistent/options/remember_enabled 1
* @magentoConfigFixture current_store persistent/options/remember_default 1
* @magentoAppArea frontend
* @magentoAppIsolation enabled
*/
public function testEmulateWelcomeBlock()
{
$this->_customerSession->loginById(1);
$httpContext = new \Magento\Framework\App\Http\Context();
$httpContext->setValue(Context::CONTEXT_AUTH, 1, 1);
$block = $this->_objectManager->create('Magento\\Sales\\Block\\Reorder\\Sidebar', ['httpContext' => $httpContext]);
$this->_observer->emulateWelcomeBlock($block);
$customerName = $this->_escaper->escapeHtml($this->_customerViewHelper->getCustomerName($this->customerRepository->getById($this->_persistentSessionHelper->getSession()->getCustomerId())));
$translation = __('Welcome, %1!', $customerName);
$this->assertStringMatchesFormat('%A' . $translation . '%A', $block->getWelcome());
$this->_customerSession->logout();
}
示例2: testGetUserName
public function testGetUserName()
{
$this->customerSessionMock->expects($this->once())->method('isLoggedIn')->willReturn(true);
$customerDataObject = $this->getMockBuilder('\\Magento\\Customer\\Model\\Data\\Customer')->disableOriginalConstructor()->getMock();
$this->customerSessionMock->expects($this->once())->method('getCustomerDataObject')->willReturn($customerDataObject);
$this->customerViewHelperMock->expects($this->once())->method('getCustomerName')->willReturn(' customer name ');
$this->assertEquals('customer name', $this->helper->getUserName());
}
示例3: emulateWelcomeBlock
/**
* Emulate 'welcome' block with persistent data
*
* @param \Magento\Framework\View\Element\AbstractBlock $block
* @return $this
*/
public function emulateWelcomeBlock($block)
{
$escapedName = $this->_escaper->escapeHtml($this->_customerViewHelper->getCustomerName($this->customerRepository->getById($this->_persistentSession->getSession()->getCustomerId())), null);
$this->_applyAccountLinksPersistentData();
$welcomeMessage = __('Welcome, %1!', $escapedName) . ' ' . $this->_layout->getBlock('header.additional')->toHtml();
$block->setWelcome($welcomeMessage);
return $this;
}
示例4: testGetUserName
public function testGetUserName()
{
$this->_customerSession->expects($this->once())->method('isLoggedIn')->will($this->returnValue(true));
$objectBuilder = $this->getMockForAbstractClass('\\Magento\\Framework\\Service\\Data\\AbstractSimpleObjectBuilder', ['getData'], '', false);
$customerDataObject = new \Magento\Customer\Service\V1\Data\Customer($objectBuilder);
$this->_customerSession->expects($this->once())->method('getCustomerDataObject')->will($this->returnValue($customerDataObject));
$this->_customerViewHelper->expects($this->once())->method('getCustomerName')->will($this->returnValue(' customer name '));
$this->assertEquals('customer name', $this->_helper->getUserName());
}
示例5: testProcess
/**
* @magentoConfigFixture current_store catalog/productalert/allow_price 1
*
* @magentoDataFixture Magento/ProductAlert/_files/product_alert.php
*/
public function testProcess()
{
$this->_objectManager->configure(['Magento\\ProductAlert\\Model\\Observer' => ['arguments' => ['transportBuilder' => ['instance' => 'Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock']]], 'Magento\\ProductAlert\\Model\\Email' => ['arguments' => ['transportBuilder' => ['instance' => 'Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock']]], 'preferences' => ['Magento\\Framework\\Mail\\TransportInterface' => 'Magento\\TestFramework\\Mail\\TransportInterfaceMock', 'Magento\\TestFramework\\Mail\\Template\\TransportBuilder' => 'Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock']]);
\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea(\Magento\Framework\App\Area::AREA_FRONTEND);
$observer = $this->_objectManager->get('Magento\\ProductAlert\\Model\\Observer');
$observer->process();
/** @var \Magento\TestFramework\Mail\Template\TransportBuilderMock $transportBuilder */
$transportBuilder = $this->_objectManager->get('Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock');
$this->assertStringMatchesFormat('%AHello %A' . $this->_customerViewHelper->getCustomerName($this->_customerSession->getCustomerDataObject()) . ',%A', $transportBuilder->getSentMessage()->getBodyHtml()->getContent());
}
示例6: getUserName
/**
* Get user name
*
* @return string
*/
public function getUserName()
{
if (!$this->_customerSession->isLoggedIn()) {
return '';
}
/**
* @var \Magento\Customer\Api\Data\CustomerInterface $customer
*/
$customer = $this->_customerSession->getCustomerDataObject();
return trim($this->_customerViewHelper->getCustomerName($customer));
}
示例7: getWelcome
/**
* Retrieve welcome text
*
* @return string
*/
public function getWelcome()
{
if (empty($this->_data['welcome'])) {
if ($this->httpContext->getValue(Context::CONTEXT_AUTH)) {
$customerName = $this->_customerViewHelper->getCustomerName($this->_customerSession->getCustomerDataObject());
$this->_data['welcome'] = __('Welcome, %1!', $this->escapeHtml($customerName));
} else {
$this->_data['welcome'] = $this->_scopeConfig->getValue('design/header/welcome', \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
}
}
return $this->_data['welcome'];
}
示例8: getUserName
/**
* Retrieve username for form field
*
* @return string
*/
public function getUserName()
{
$name = $this->getFormData()->getData('sender/name');
if (!empty($name)) {
return trim($name);
}
/* @var $session \Magento\Customer\Model\Session */
$session = $this->_customerSession;
if ($this->httpContext->getValue(Context::CONTEXT_AUTH)) {
return $this->_customerViewHelper->getCustomerName($session->getCustomerDataObject());
}
return '';
}
示例9: prepareInitiatePasswordReset
/**
* @param string $email
* @param string $templateIdentifier
* @param string $sender
* @param int $storeId
* @param int $customerId
* @param string $hash
*/
protected function prepareInitiatePasswordReset($email, $templateIdentifier, $sender, $storeId, $customerId, $hash)
{
$websiteId = 1;
$dateTime = date(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT);
$customerData = ['key' => 'value'];
$customerName = 'Customer Name';
$this->store->expects($this->once())->method('getWebsiteId')->willReturn($websiteId);
$this->store->expects($this->any())->method('getId')->willReturn($storeId);
$this->storeManager->expects($this->any())->method('getStore')->willReturn($this->store);
$customer = $this->getMockBuilder('Magento\\Customer\\Api\\Data\\CustomerInterface')->getMock();
$customer->expects($this->any())->method('getEmail')->willReturn($email);
$customer->expects($this->any())->method('getId')->willReturn($customerId);
$customer->expects($this->any())->method('getStoreId')->willReturn($storeId);
$this->customerRepository->expects($this->once())->method('get')->with($email, $websiteId)->willReturn($customer);
$this->customerRepository->expects($this->once())->method('save')->with($customer)->willReturnSelf();
$this->random->expects($this->once())->method('getUniqueHash')->willReturn($hash);
$this->customerViewHelper->expects($this->any())->method('getCustomerName')->with($customer)->willReturn($customerName);
$this->customerSecure->expects($this->any())->method('setRpToken')->with($hash)->willReturnSelf();
$this->customerSecure->expects($this->any())->method('setRpTokenCreatedAt')->with($dateTime)->willReturnSelf();
$this->customerSecure->expects($this->any())->method('addData')->with($customerData)->willReturnSelf();
$this->customerSecure->expects($this->any())->method('setData')->with('name', $customerName)->willReturnSelf();
$this->customerRegistry->expects($this->any())->method('retrieveSecureData')->with($customerId)->willReturn($this->customerSecure);
$this->dataObjectProcessor->expects($this->any())->method('buildOutputDataArray')->with($customer, '\\Magento\\Customer\\Api\\Data\\CustomerInterface')->willReturn($customerData);
$this->prepareEmailSend($email, $templateIdentifier, $sender, $storeId, $customerName);
}
示例10: load
/**
* Load search results
*
* @return $this
*/
public function load()
{
$result = [];
if (!$this->hasStart() || !$this->hasLimit() || !$this->hasQuery()) {
$this->setResults($result);
return $this;
}
$this->searchCriteriaBuilder->setCurrentPage($this->getStart());
$this->searchCriteriaBuilder->setPageSize($this->getLimit());
$searchFields = ['firstname', 'lastname', 'company'];
$filters = [];
foreach ($searchFields as $field) {
$filters[] = $this->filterBuilder->setField($field)->setConditionType('like')->setValue($this->getQuery() . '%')->create();
}
$this->searchCriteriaBuilder->addFilters($filters);
$searchCriteria = $this->searchCriteriaBuilder->create();
$searchResults = $this->customerRepository->getList($searchCriteria);
foreach ($searchResults->getItems() as $customer) {
$customerAddresses = $customer->getAddresses();
/** Look for a company name defined in default billing address */
$company = null;
foreach ($customerAddresses as $customerAddress) {
if ($customerAddress->getId() == $customer->getDefaultBilling()) {
$company = $customerAddress->getCompany();
break;
}
}
$result[] = ['id' => 'customer/1/' . $customer->getId(), 'type' => __('Customer'), 'name' => $this->_customerViewHelper->getCustomerName($customer), 'description' => $company, 'url' => $this->_adminhtmlData->getUrl('customer/index/edit', ['id' => $customer->getId()])];
}
$this->setResults($result);
return $this;
}
示例11: testNewAccount
/**
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function testNewAccount()
{
$customerId = 1;
$customerStoreId = 2;
$customerEmail = 'email@email.com';
$customerData = ['key' => 'value'];
$customerName = 'Customer Name';
$templateIdentifier = 'Template Identifier';
$sender = 'Sender';
$customer = $this->getMock(\Magento\Customer\Api\Data\CustomerInterface::class, [], [], '', false);
$customer->expects($this->any())->method('getStoreId')->willReturn($customerStoreId);
$customer->expects($this->any())->method('getId')->willReturn($customerId);
$customer->expects($this->any())->method('getEmail')->willReturn($customerEmail);
$this->storeMock->expects($this->any())->method('getId')->willReturn($customerStoreId);
$this->storeManagerMock->expects($this->once())->method('getStore')->with($customerStoreId)->willReturn($this->storeMock);
$this->customerRegistryMock->expects($this->once())->method('retrieveSecureData')->with($customerId)->willReturn($this->customerSecureMock);
$this->dataProcessorMock->expects($this->once())->method('buildOutputDataArray')->with($customer, \Magento\Customer\Api\Data\CustomerInterface::class)->willReturn($customerData);
$this->customerViewHelperMock->expects($this->any())->method('getCustomerName')->with($customer)->willReturn($customerName);
$this->customerSecureMock->expects($this->once())->method('addData')->with($customerData)->willReturnSelf();
$this->customerSecureMock->expects($this->once())->method('setData')->with('name', $customerName)->willReturnSelf();
$this->scopeConfigMock->expects($this->at(0))->method('getValue')->with(EmailNotification::XML_PATH_REGISTER_EMAIL_TEMPLATE, ScopeInterface::SCOPE_STORE, $customerStoreId)->willReturn($templateIdentifier);
$this->scopeConfigMock->expects($this->at(1))->method('getValue')->with(EmailNotification::XML_PATH_REGISTER_EMAIL_IDENTITY, ScopeInterface::SCOPE_STORE, $customerStoreId)->willReturn($sender);
$transport = $this->getMock(\Magento\Framework\Mail\TransportInterface::class, [], [], '', false);
$this->transportBuilderMock->expects($this->once())->method('setTemplateIdentifier')->with($templateIdentifier)->willReturnSelf();
$this->transportBuilderMock->expects($this->once())->method('setTemplateOptions')->with(['area' => Area::AREA_FRONTEND, 'store' => $customerStoreId])->willReturnSelf();
$this->transportBuilderMock->expects($this->once())->method('setTemplateVars')->with(['customer' => $this->customerSecureMock, 'back_url' => '', 'store' => $this->storeMock])->willReturnSelf();
$this->transportBuilderMock->expects($this->once())->method('setFrom')->with($sender)->willReturnSelf();
$this->transportBuilderMock->expects($this->once())->method('addTo')->with($customerEmail, $customerName)->willReturnSelf();
$this->transportBuilderMock->expects($this->once())->method('getTransport')->willReturn($transport);
$transport->expects($this->once())->method('sendMessage');
$this->model->newAccount($customer, EmailNotification::NEW_ACCOUNT_EMAIL_REGISTERED, '', $customerStoreId);
}
示例12: getFullCustomerObject
/**
* Create an object with data merged from Customer and CustomerSecure
*
* @param CustomerInterface $customer
* @return \Magento\Customer\Model\Data\CustomerSecure
*/
private function getFullCustomerObject($customer)
{
// No need to flatten the custom attributes or nested objects since the only usage is for email templates and
// object passed for events
$mergedCustomerData = $this->customerRegistry->retrieveSecureData($customer->getId());
$customerData = $this->dataProcessor->buildOutputDataArray($customer, \Magento\Customer\Api\Data\CustomerInterface::class);
$mergedCustomerData->addData($customerData);
$mergedCustomerData->setData('name', $this->customerViewHelper->getCustomerName($customer));
return $mergedCustomerData;
}
示例13: getUserName
/**
* Get user name
*
* @return string
*/
public function getUserName()
{
if (!$this->_customerSession->isLoggedIn()) {
return '';
}
/**
* @var Customer $customer
*/
$customer = $this->_customerSession->getCustomerDataObject();
return trim($this->_customerViewHelper->getCustomerName($customer));
}
示例14: testSendNotificationEmailsIfRequired
/**
* @param int $testNumber
* @param string $oldEmail
* @param string $newEmail
* @param bool $isPasswordChanged
*
* @dataProvider sendNotificationEmailsDataProvider
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function testSendNotificationEmailsIfRequired($testNumber, $oldEmail, $newEmail, $isPasswordChanged)
{
$customerId = 1;
$customerStoreId = 2;
$customerWebsiteId = 1;
$customerData = ['key' => 'value'];
$customerName = 'Customer Name';
$templateIdentifier = 'Template Identifier';
$sender = 'Sender';
switch ($testNumber) {
case 1:
$xmlPathTemplate = EmailNotification::XML_PATH_RESET_PASSWORD_TEMPLATE;
$expects = $this->once();
break;
case 2:
$xmlPathTemplate = EmailNotification::XML_PATH_CHANGE_EMAIL_TEMPLATE;
$expects = $this->exactly(2);
break;
case 3:
$xmlPathTemplate = EmailNotification::XML_PATH_CHANGE_EMAIL_AND_PASSWORD_TEMPLATE;
$expects = $this->exactly(2);
break;
}
$origCustomer = $this->getMockBuilder('Magento\\Customer\\Api\\Data\\CustomerInterface')->getMock();
$origCustomer->expects($this->any())->method('getStoreId')->willReturn(0);
$origCustomer->expects($this->any())->method('getId')->willReturn($customerId);
$origCustomer->expects($this->any())->method('getWebsiteId')->willReturn($customerWebsiteId);
$storeMock = $this->getMockBuilder('Magento\\Store\\Model\\Store')->disableOriginalConstructor()->getMock();
$storeMock->expects($this->any())->method('getId')->willReturn($customerStoreId);
$this->storeManagerMock->expects(clone $expects)->method('getStore')->willReturn($storeMock);
$websiteMock = $this->getMockBuilder('Magento\\Store\\Model\\Website')->disableOriginalConstructor()->setMethods(['getStoreIds'])->getMock();
$websiteMock->expects($this->any())->method('getStoreIds')->willReturn([$customerStoreId]);
$this->storeManagerMock->expects(clone $expects)->method('getWebsite')->with($customerWebsiteId)->willReturn($websiteMock);
$customerSecureMock = $this->getMockBuilder('Magento\\Customer\\Model\\Data\\CustomerSecure')->disableOriginalConstructor()->getMock();
$this->customerRegistryMock->expects(clone $expects)->method('retrieveSecureData')->with($customerId)->willReturn($customerSecureMock);
$this->dataProcessorMock->expects(clone $expects)->method('buildOutputDataArray')->with($origCustomer, '\\Magento\\Customer\\Api\\Data\\CustomerInterface')->willReturn($customerData);
$this->customerViewHelperMock->expects($this->any())->method('getCustomerName')->with($origCustomer)->willReturn($customerName);
$customerSecureMock->expects(clone $expects)->method('addData')->with($customerData)->willReturnSelf();
$customerSecureMock->expects(clone $expects)->method('setData')->with('name', $customerName)->willReturnSelf();
$savedCustomer = clone $origCustomer;
$origCustomer->expects($this->any())->method('getEmail')->willReturn($oldEmail);
$savedCustomer->expects($this->any())->method('getEmail')->willReturn($newEmail);
$this->scopeConfigMock->expects($this->any())->method('getValue')->withConsecutive([$xmlPathTemplate, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $customerStoreId], [\Magento\Customer\Helper\EmailNotification::XML_PATH_FORGOT_EMAIL_IDENTITY, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $customerStoreId], [$xmlPathTemplate, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $customerStoreId], [\Magento\Customer\Helper\EmailNotification::XML_PATH_FORGOT_EMAIL_IDENTITY, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $customerStoreId])->willReturnOnConsecutiveCalls($templateIdentifier, $sender, $templateIdentifier, $sender);
$this->transportBuilderMock->expects(clone $expects)->method('setTemplateIdentifier')->with($templateIdentifier)->willReturnSelf();
$this->transportBuilderMock->expects(clone $expects)->method('setTemplateOptions')->with(['area' => \Magento\Framework\App\Area::AREA_FRONTEND, 'store' => $customerStoreId])->willReturnSelf();
$this->transportBuilderMock->expects(clone $expects)->method('setTemplateVars')->with(['customer' => $customerSecureMock, 'store' => $storeMock])->willReturnSelf();
$this->transportBuilderMock->expects(clone $expects)->method('setFrom')->with($sender)->willReturnSelf();
$this->transportBuilderMock->expects(clone $expects)->method('addTo')->withConsecutive([$oldEmail, $customerName], [$newEmail, $customerName])->willReturnSelf();
$transport = $this->getMockBuilder('Magento\\Framework\\Mail\\TransportInterface')->getMock();
$this->transportBuilderMock->expects(clone $expects)->method('getTransport')->willReturn($transport);
$transport->expects(clone $expects)->method('sendMessage');
$this->assertEquals($this->helper, $this->helper->sendNotificationEmailsIfRequired($origCustomer, $savedCustomer, $isPasswordChanged));
}
示例15: testSend
/**
* @magentoDataFixture Magento/Customer/_files/customer.php
* @magentoDataFixture Magento/Catalog/_files/product_simple.php
*/
public function testSend()
{
$this->_objectManager->configure(['Magento\\ProductAlert\\Model\\Email' => ['arguments' => ['transportBuilder' => ['instance' => 'Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock']]], 'preferences' => ['Magento\\Framework\\Mail\\TransportInterface' => 'Magento\\TestFramework\\Mail\\TransportInterfaceMock']]);
\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea(\Magento\Framework\App\Area::AREA_FRONTEND);
$this->_emailModel = $this->_objectManager->create('Magento\\ProductAlert\\Model\\Email');
/** @var \Magento\Store\Model\Website $website */
$website = $this->_objectManager->create('Magento\\Store\\Model\\Website');
$website->load(1);
$this->_emailModel->setWebsite($website);
/** @var \Magento\Customer\Service\V1\Data\Customer $customer */
$customer = $this->_customerAccountService->getCustomer(1);
$this->_emailModel->setCustomerData($customer);
/** @var \Magento\Catalog\Model\Product $product */
$product = $this->_objectManager->create('Magento\\Catalog\\Model\\Product');
$product->load(1);
$this->_emailModel->addPriceProduct($product);
$this->_emailModel->send();
/** @var \Magento\TestFramework\Mail\Template\TransportBuilderMock $transportBuilder */
$transportBuilder = $this->_objectManager->get('Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock');
$this->assertStringMatchesFormat('%AHello ' . $this->_customerViewHelper->getCustomerName($customer) . '%A', $transportBuilder->getSentMessage()->getBodyHtml()->getContent());
}