Очень часто при работе с сайтом на Cotonti возникает задача создания дополнительных полей для заполнения пользователями в своем профиле. Чтобы данная задача не была для вас большой проблемой, постараюсь разложить по полочкам принцип работы с экстраполями. 

Допустим, перед нами стоит задача создать поля: Название компании, Адрес, Телефон.

1) Для начала надо уяснить для себя, что в Cotonti данные пользователей хранятся в таблице базы данных, которая называется cot_users (Префикс cot_ может быть другим. например во фриланс-бирже префикс по-умолчанию имеет значение flance_). Чтобы создать экстраполе для этой таблицы, нам нужно перейти в админке в раздел Экстраполя и выбрать нашу таблицу.

2) На странице будет выводиться форма создания экстраполя, а также список уже созданных экстраполей (если они уже были созданы ранее). Итак, чтобы создать экстраполе нам понадобится выбрать для них код и название. Код экстраполя должен состоять только из латинских символов, а название может быть написано на русском.

В нашем случае мы определим значения таким образом:

company - Название компании
addr - Адрес
phone - Телефон

Также для экстраполя можно установить тип поля и другие значения, если например поле будет в виде селекта или другого множественного элемента веб-формы. По-умолчанию тип поля устанавливается в виде простого инпута.

3) После того как мы создали наши экстраполя, нам необходимо разместить их в соответствующих шаблонах пользователя: профиль (users.profile.tpl) и страница пользователя (users.details.tpl).

В профиле пользователь может редактировать свои данные, то есть этот шаблон (users.profile.tpl) содержит форму. Форматы тэгов в ней имеют такой вид: {USERS_PROFILE_НАЗВАНИЕПОЛЯ}

В нашем случае в этот шаблон нужно прописать такие тэги:

Поле "Название компании":
{USERS_PROFILE_COMPANY} - само поле
{USERS_PROFILE_COMPANY_TITLE} - название поля

Поле "Адрес":
{USERS_PROFILE_ADDR} - само поле
{USERS_PROFILE_ADDR_TITLE} - название поля

Поле "Телефон":
{USERS_PROFILE_PHONE} - само поле
{USERS_PROFILE_PHONE_TITLE} - название поля

 

Аналогичным образом прописываются значения этих полей на странице пользователя для вывода информации, но формат тэгов уже должен быть иным {USERS_DETAILS_НАЗВАНИЕПОЛЯ}: 

Поле "Название компании":
{USERS_DETAILS_COMPANY} - значение поля
{USERS_DETAILS_COMPANY_TITLE} - название поля

Поле "Адрес":
{USERS_DETAILS_ADDR} - значение поля
{USERS_DETAILS_ADDR_TITLE} - название поля

Поле "Телефон":
{USERS_DETAILS_PHONE} - значение поля
{USERS_DETAILS_PHONE_TITLE} - название поля

Для шаблона users.edit.tpl:

Поле "Название компании":
{USERS_EDIT_COMPANY} - значение поля
{USERS_EDIT_COMPANY_TITLE} - название поля

Поле "Адрес":
{USERS_EDIT_ADDR} - значение поля
{USERS_EDIT_ADDR_TITLE} - название поля

Поле "Телефон":
{USERS_EDIT_PHONE} - значение поля
{USERS_EDIT_PHONE_TITLE} - название поля

 

Обратите внимание, для каждого раздела в Cotonti структура тэгов экстраполей имеет разный формат. Чтобы определить этот формат, рекомендую смотреть шаблоны соответствующих разделов.

Если вы не нашли ответа на свой вопрос, то можете задать его на форуме.