Экстраполя для профиля пользователя.

Создание дополнительных полей для профиля пользователя на сайте фриланс-биржи на Cotonti. Экстраполя.

1273
11/11/0
29.12.2017 15:59:00
08.02.2022 12:50:28
0

Очень часто при работе с сайтом на 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 структура тэгов экстраполей имеет разный формат. Чтобы определить этот формат, рекомендуется смотреть шаблоны соответствующих разделов.

 

Чтобы поле было обязательным только на определенной странице, например в настройках профиля - в экстраполе чекбокс снимаем "обязательное", а HTML-код поля в самом шаблоне .TPL должен включать атрибут required

примерно так в шаблон users.profile.tpl

{USERS_PROFILE_PHONE_CONTACT|cot_rc_modify($this, 'placeholder="Телефон" required="required"')}

или даже вот так

<!-- IF {USERS_PROFILE_PHONE_CONTACT} -->
<div>
	<div class="uk-card uk-card-default uk-padding-small uk-border-rounded">
		<label class="uk-form-label">{USERS_PROFILE_PHONE_CONTACT_TITLE}</label>
		<div class="uk-form-controls">
			{USERS_PROFILE_PHONE_CONTACT|cot_rc_modify($this, 'placeholder="Телефон" required="required"')}
		</div>
	</div>
</div>
<!-- ENDIF -->

 

Другая документация по фриланс-бирже на Cotonti

Комментарии: 0

Комментарии отсутствуют
Добавление комментариев доступно только зарегистрированным пользователям

Торговая площадка «ABUYFILE» © 2021 - 2023

Powered by Cotonti CMF webitproff

Страница создана за 0.054 секунды

Авторизация пользователя



Зарегистрироваться