本文整理汇总了PHP中Magento\Customer\Model\Session::setRpToken方法的典型用法代码示例。如果您正苦于以下问题:PHP Session::setRpToken方法的具体用法?PHP Session::setRpToken怎么用?PHP Session::setRpToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Customer\Model\Session
的用法示例。
在下文中一共展示了Session::setRpToken方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: executeInternal
/**
* Resetting password handler
*
* @return \Magento\Framework\Controller\Result\Redirect|\Magento\Framework\View\Result\Page
*/
public function executeInternal()
{
$resetPasswordToken = (string) $this->getRequest()->getParam('token');
$customerId = (int) $this->getRequest()->getParam('id');
$isDirectLink = $resetPasswordToken != '' && $customerId != 0;
if (!$isDirectLink) {
$resetPasswordToken = (string) $this->session->getRpToken();
$customerId = (int) $this->session->getRpCustomerId();
}
try {
$this->accountManagement->validateResetPasswordLinkToken($customerId, $resetPasswordToken);
if ($isDirectLink) {
$this->session->setRpToken($resetPasswordToken);
$this->session->setRpCustomerId($customerId);
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('*/*/createpassword');
return $resultRedirect;
} else {
/** @var \Magento\Framework\View\Result\Page $resultPage */
$resultPage = $this->resultPageFactory->create();
$resultPage->getLayout()->getBlock('resetPassword')->setCustomerId($customerId)->setResetPasswordLinkToken($resetPasswordToken);
return $resultPage;
}
} catch (\Exception $exception) {
$this->messageManager->addError(__('Your password reset link has expired.'));
/** @var \Magento\Framework\Controller\Result\Redirect $resultRedirect */
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('*/*/forgotpassword');
return $resultRedirect;
}
}