{"_id":"57d698404340330e00953c79","user":"564f641651f2ec0d001d6998","version":{"_id":"57d698404340330e00953c6c","project":"564f643f33082f0d001bb714","__v":2,"createdAt":"2016-09-12T11:57:52.437Z","releaseDate":"2016-09-12T11:57:52.437Z","categories":["57d698404340330e00953c6d","57d698404340330e00953c6e","57d698404340330e00953c6f","57d698404340330e00953c70","57d698404340330e00953c71","57d698404340330e00953c72","57d698404340330e00953c73","58a5711c79ac232f00cbadb5"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.1.0","version":"1.1"},"parentDoc":null,"project":"564f643f33082f0d001bb714","__v":0,"category":{"_id":"57d698404340330e00953c70","version":"57d698404340330e00953c6c","__v":0,"project":"564f643f33082f0d001bb714","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-09-02T11:53:18.476Z","from_sync":false,"order":3,"slug":"digital-data-manager","title":"Digital Data Manager"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-09-08T09:54:20.835Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"Несмотря на то, что архитектура DigitalData не поддерживает сохранение состояния (является stateless), Digital Data Manager позволяет временно хранить определенные значния DDL и автоматически заполнять их на последующих страницах.\n\nДля этих целей используются специальные методы объекта ddManager:\n- ddManager.persist(ddlKey, expirationTime)\n- ddManager.unpersist(ddlKey)\n\n## Пример:\n\nПредположим, что нам необходимо запомнить, посещал ли пользователь страницу корзины за последние 7 дней. Для этого, на странице корзины необходимо выполнить следующий код:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"digitalData.user.visitedCartPage = true;\\nddManager.persist('user.visitedCartPage', 604800);\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\nТеперь, в течение недели на каждой странице перменная **digitalData.user.visitedCartPage** будет автоматически принимать значение **true**.\n\n\n[block:callout]\n{\n  \"type\": \"success\",\n  \"body\": \"Если expiretionTime для функции persist() не указано, то данные запоминаются навсегда.\",\n  \"title\": \"Полезно знать\"\n}\n[/block]","excerpt":"","slug":"сохранение-данных","type":"basic","title":"Сохранение данных"}

Сохранение данных


Несмотря на то, что архитектура DigitalData не поддерживает сохранение состояния (является stateless), Digital Data Manager позволяет временно хранить определенные значния DDL и автоматически заполнять их на последующих страницах. Для этих целей используются специальные методы объекта ddManager: - ddManager.persist(ddlKey, expirationTime) - ddManager.unpersist(ddlKey) ## Пример: Предположим, что нам необходимо запомнить, посещал ли пользователь страницу корзины за последние 7 дней. Для этого, на странице корзины необходимо выполнить следующий код: [block:code] { "codes": [ { "code": "digitalData.user.visitedCartPage = true;\nddManager.persist('user.visitedCartPage', 604800);", "language": "javascript" } ] } [/block] Теперь, в течение недели на каждой странице перменная **digitalData.user.visitedCartPage** будет автоматически принимать значение **true**. [block:callout] { "type": "success", "body": "Если expiretionTime для функции persist() не указано, то данные запоминаются навсегда.", "title": "Полезно знать" } [/block]