Commerce server site term is a set of valid values (in the form of key value pair) which can be used in conjunction with Profile system. For example, there is no point to ask user the month name – rather it would be good to provide month information in dropdown and the user can select one from it. By this, we are making the application to store uniform values. So, the common and unchanged items can be created as site terms.
By default commerce server creates many site terms, includes user title, user status, user role, months,weeks, year, etc. We have flexibility in creating our own profile objects by creating new tables in the database but the same flexibility is not applicable for site terms. All site terms are stored in a single table under profile database and the table name is “MemAttrib”. This table not only stores site terms but also stores product definition information. Few of the important fields to remember are
CatalogName: This field is used to differentiate whether the data belongs to site term or product definition. If catalogName field value contains “Site Terms”, that means the row belongs to site term and if it contains “Profile Definitions” means the row contains profile definition information.
MembershipName: This field is used to store site term or profile definition name.
AttributeName: This holds site term key name.
DisplayName: This holds site term value.
The below query can be used to fetch all data of site term “Country”
|
SELECT MemberAttribID, CatalogName, ClassDefName, MemberName, AttribName, DisplayName, Description, AttribType, ValSTR, ValNum, ValDateTime, |
Note: Since we are storing all information in a single table (unlike catalog tables), we don’t have the flexibility of using same site term for multiple languages.
If you like this post, please click on our sponsor advertisement.
