m_persistent¶
- Module: core
This implements persistent storage of values between visits from the same browser.
Persistent storage is implemented using a cookie and database storage. The cookie contains the
key for the stored values. If a visitor makes a request then the session will load the persistent
values into the session process. These can then be accesses using {{ m.persistent.yourkey }}
in
templates (replace yourkey with the key you used to store the information).
The persistent cookie (z_pid
) is only set if persistent information is saved. This can be done
using calls zo z_context:set_persistent/3
or the action persistent_set.
Retrieve a value with z_context:get_persistent/2
or the m_persistent.
Note that the first time a persistent value also a cookie needs to be set. This cookie will be added to the Context passed to the set_peristent call. If this was a regular request (HTTP or Ajax) then the cookie will be returned in the request reply. If the request was a Websocket request then the user-agent will make a call back to the server to retrieve (and set) the new persistent cookie.