Answers:
app/code/Custom/Module/view/frontend/templates/sample.phtml
<script type="text/javascript">
require([
'jquery',
'jquery/jquery.cookie'
], function ($) {
$(document).ready(function () {
var check_cookie = $.cookie('foo'); // Get Cookie Value
var date = new Date();
var minutes = 60;
date.setTime(date.getTime() + (minutes * 60 * 1000));
$.cookie('foo', '', {path: '/', expires: -1}); // Expire Cookie
$.cookie('foo', 'bar', {expires: date}); // Set Cookie Expiry Time
$.cookie('foo', 'setvalue'); // Set Cookie Value
}
});
</script>
PHP方面的有用文章:https : //webkul.com/blog/set-get-data-cookie-magento2/
您可以使用以下方法将cookie存储在js文件中,
define([
'jquery',
'mage/cookies'
], function ($) {
$.cookie('cookiename', cookievalue);
});
mage/cookies
是给Magento 1的吗?
$.cookie()
和 之间有什么区别$.mage.cookies.set()
?
在中target.phtml
,添加如下所示的js代码。
<script>
require([
'jquery',
'mage/cookies'
], function ($) {
$.cookie('cookie_name', 'value', { path: '/' });//Set the cookies
});
</script>
如果要从另一个页面获取值,请注意路径设置
{ path: '/' }
!由于cookie仅可访问指定的路径和任何子路径,因此,您可以在此处查看cookie路径及其对子文件夹页面的可访问性。
<script>
require([
'jquery',
'mage/cookies'
], function ($) {
var temp = $.cookie('cookie_name');//Get the cookies
});
</script>
以防万一,您需要在Cookie检查后打开或不打开模态:
require(
[
'jquery',
'Magento_Ui/js/modal/modal',
'jquery/jquery.cookie'
],
这是正确的顺序,否则模态将不起作用
mage/cookie
用于大多数用例。这样做将自动为Magento存储使用cookie配置,而无需使用显式定义它们jquery/jquery.cookie
。