| Name | Type | Description |
| object_type | String | Will always be datastore_item |
| is_valid | Boolean | True if this references a published profile |
| guid | String | The unique identifier for this profile |
| value | String | Contains the same value as guid |
| id | String | The identifier for the profile. May or may not be the same as email, depending on the site settings |
| String | Email address for this profile | |
| force_password_reset | Boolean | If true, the user must reset their password at next login |
| is_active | Boolean | If true, the profile is active and can be used. If false, the profile must be activated before it may be used |
| date_activated | time | The date that this profile was activated |
| date_activation_code_expires | time | The date when the activation code will expire and no longer be valid |
| date_first_activated | time | The date of the first successful activation for this profile |
| is_locked | Boolean | If true, this profile is temporarily locked and may not be used to sign in until it is unlocked |
| date_locked_through | time | If this profile is locked, this will be set to the date that the profile will be automatically unlocked |
| date_last_logged_in | time | The date that this profile was last used to sign in to the website |
| is_blocked | Boolean | If true, this profile has been permanently blocked and may not be used to sign in |
| date_blocked | time | If this profile is blocked, this will be set to the date when the profile was blocked |
| attributes | dictionary | The custom attributes for this profile. Attributes may either be manually set in the Marketpath CMS UI or programmatically set from template markup |
| logged_in | Boolean | True if this profile is presently logged in on the current request |
| can_login | Boolean | True if the profile exists, is active, and is not blocked or locked |
| settings | object | An object containing all of the custom profile settings for this profile |
| field_id | String | The identifier for this field |
| label | String | The label for this field |
| output | String | The default output that the profile produces when output directly to the template. Currently simply outputs the email, but the default output may change at any time. Template developers should avoid using this and should handle the output of profiles themselves |
Contains multiple profiles.
| Name | Type | Description |
| object_type | String | Will always be datastore_item |
| is_valid | Boolean | True if this contains at least one published profile |
| output | String | The default output that the profiles will produce when it is output directly to the template - using the "output_in_list" property of each profile in the items list |
| prepended | list | List containing any prepended profiles. |
| fetched | list | List containing all of the profiles that were fetched from the database (as opposed to prepended or appended). |
| appended | list | List containing any appended profiles. |
| appended_unique | list | List containing any appended profiles excluding any profiles that are in either the list of prepended or fetched profiles. |
| items | list | List containing all of the combined profiles from the prepended, fetched, and appended lists. If unique is true, this list will not contain any duplicates. If max_size is set, this list will not contain more than the number of profiles specified. |
| size | Integer | The total number of profiles in the items list, including prepended, fetched, and appended lists, and respecting the unique and max_size properties. |
| max_size | Integer | If set, this is the maximum number of items that will be returned in the items list and the maximum number of items that will be included when this profiles object is enumerated as a list. When not set, this value will be 0. |
| unique | Boolean | When true, the items list will not contain any duplicates. Only the first instance of each profile will be included. |
| limit | Integer | The maximum number of items that were allowed to be in the list of fetched profiles. May be 0 in some cases (such as when when there are no fetched profiles. |
| start | Integer | The 1-based index of the first item in the list of fetched profiles. |
| page | Integer | The 1-based index of the paginated results returned in the list of fetched profiles, which is calculated from the start and limit parameters. Useful for paginated results. |
| total_count | Integer | The 1-based index of the first item in the list of fetched profiles |
| total_pages | Integer |
{% profile output_to_template? [var, set, or assign]? variable? output_to_template? = value %}
{% profiles output_to_template? [var, set, or assign]? variable? output_to_template? = arguments %}
arguments
Saves custom properties on the profile that will be accessible whenever the current profile is logged in. The properties will be saved to the profile's attribute dictionary. Note that this is meaningless unless the user is logged in.
{% set_profile attributes %}
Removes custom properties from the attribute dictionary of the currently logged-in profile. Note that this is meaningless unless the user is logged in.
{% unset_profile attributes %}
There is no option to unset all attributes from a profile - attributes must be removed by name.
Saves custom values to predefined profile settings that will be accessible whenever the current profile is logged in. Note that this is meaningless unless the user is logged in.
Profile settings may include validation, in which case all settings will be validated before being set and any validation error will prevent the setting(s) from being set. Validation errors may optionally be output to a variable.
{% set_profile_setting [[var, set, or assign]? errors=variable]? properties %}
Removes custom values from the profile settings for the currently logged-in profile. Note that this is meaningless unless the user is logged in.
For settings with a default value this will reset them to the default, and for all other settings this will set them to empty/unselected/false. Profile settings may be required and include validation, in which case all settings will be validated before being removed and any validation error will prevent any settings from being set. Validation errors may optionally be output to a variable.
{% unset_profile_setting [[var, set, or assign]? errors=variable]? properties %}
There is no option to unset all settings on a profile - settings must be unset by name.
Set Profile
CopySet Profile Setting 2
CopyUnset Profile settings dynamically
CopyUnset Profile properties dynamically
CopyUnset multiple Profile settings
CopyUnset multiple Profile properties
CopySet Profile Setting 1
CopyUnset Profile Setting
CopyUnset Profile
Copy