文档 下载安装 问答 主机

增删改 Cookie

像其他电商平台一样,在 Magento 2 中使用相似的方式用 cookie 获取数据。现在,我们将深入了解如何在 Magento 2 中使用 cookie。

什么是 Cookies ?

Cookies 是一种文档类型,用来在浏览器中存储所有数据。也就是说,当你访问一个网站的时候,同时也会留下你的个人信息,当你再次访问的时候,Cookies 会许显示存储的这些数据,通过使用 Cookies,可以增强客户的购物体验。

那么,为了使用 Magento 2 中的 cookies,您需要遵循什么?

在 Magento 2 中使用 cookies 的概览

  • 第一步:创建控制器读取 cookie

  • 第二步:创建控制器删除 cookie

第一步:创建控制器读取 cookie

首先,在 app/code/Mageplaza/HelloWorld/Controller/Cookie里配置一个 Readcookie.php 控制器,Readcookie.php包含如下内容:

<?php
namespace Mageplaza\HelloWorld\Controller\Cookie;
class Readcookie extends \Magento\Framework\App\Action\Action
{
/**
* @var \Magento\Framework\Stdlib\CookieManagerInterface
*/
protected $_cookieManager;
/**
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Framework\Stdlib\CookieManagerInterface $cookieManager
*/
public function __construct(
     \Magento\Framework\App\Action\Context $context,
     \Magento\Framework\Stdlib\CookieManagerInterface $cookieManager
)
{
     $this->_cookieManager = $cookieManager;
     parent::__construct($context);
}
public function execute()
{
     $cookieValue = $this->_cookieManager->getCookie(\Mageplaza\HelloWorld\Controller\Cookie\Addcookie::COOKIE_NAME);
     echo($cookieValue);
}
}

第二步:创建控制器删除 cookie

在 app/code/Mageplaza/HelloWorld/Controller/Cookie 中创建 Deletecookie 控制器,内容如下:

<?php
namespace Mageplaza\HelloWorld\Controller\Cookie;
class Deletecookie extends \Magento\Framework\App\Action\Action
{
/**
* @var \Magento\Framework\Stdlib\CookieManagerInterface
*/
protected $_cookieManager;
/**
* @param \Magento\Framework\App\Action\Context $context
* @param \Magento\Framework\Stdlib\CookieManagerInterface $cookieManager
*/
public function __construct(
     \Magento\Framework\App\Action\Context $context,
     \Magento\Framework\Stdlib\CookieManagerInterface $cookieManager
)
{
     $this->_cookieManager = $cookieManager;
     parent::__construct($context);
}
public function execute()
{
     $this->_cookieManager->deleteCookie(
         \Mageplaza\HelloWorld\Controller\Cookie\Addcookie::COOKIE_NAME
     );
     echo('DELETED');
}
}

现在,你可以在你的 Magento 2 商店中启用 cookie。

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: