users.details.tpl
шаблон публичного профиля пользователя. Собственно сама страница пользователя, которая доступна для просмотра даже гостям, по собственной ссылке.
Открываем шаблон, и обязательно внутри формы ... Нет тут форм, и быть не должно, если они не предусмотренны специально для этого разработанными расширениями.
Но уже, в привычной манере у нашего поезда меняем тепловоз.
в любом для вас удобном месте вставляем блок с выводом наших полей:
<!-- IF {PHP|cot_plugin_active('xtradbrowusers')} -->
<!-- О себе -->
<!-- IF {USERS_DETAILS_XTRA_X020_ABOUT_VENDOR_TEXT} -->
<div class="d-flex mb-3">
<div class="contact-icon about me-3">
<i class="fa-solid fa-circle-info fa-xl"></i>
</div>
<div>
<div class="contact-label">{USERS_DETAILS_XTRA_X020_ABOUT_VENDOR_TEXT_TITLE}</div>
<div class="contact-value">{USERS_DETAILS_XTRA_X020_ABOUT_VENDOR_TEXT}</div>
</div>
</div>
<!-- ENDIF -->
<!-- Телефон -->
<!-- IF {USERS_DETAILS_XTRA_X010_PHONE_VENDOR_ORDERS} -->
<div class="d-flex align-items-center mb-3">
<div class="contact-icon phone me-3">
<i class="fa-solid fa-phone fa-xl"></i>
</div>
<div>
<div class="contact-label">{USERS_DETAILS_XTRA_X010_PHONE_VENDOR_ORDERS_TITLE}</div>
<div class="d-flex align-items-center">
<span id="phone-{USERS_DETAILS_ID}" class="contact-value fs-3" style="letter-spacing:2px"></span>
<button type="button" class="btn btn-outline-primary btn-sm ms-2"
id="show-phone-btn-{USERS_DETAILS_ID}"
data-phone="{USERS_DETAILS_XTRA_X010_PHONE_VENDOR_ORDERS}"
onclick="document.getElementById('phone-{USERS_DETAILS_ID}').textContent = this.dataset.phone; this.style.display='none';">
<i class="fa-solid fa-eye me-1"></i> {PHP.L.xtradbrowusers_details_tpl_show_hidden_content}
</button>
</div>
</div>
</div>
<!-- ENDIF -->
<!-- Telegram -->
<!-- IF {USERS_DETAILS_XTRA_X011_TG_VENDOR_ORDERS} -->
<div class="d-flex align-items-center mb-3">
<div class="contact-icon telegram me-3">
<i class="fa-brands fa-telegram fa-xl"></i>
</div>
<div>
<div class="contact-label">{USERS_DETAILS_XTRA_X011_TG_VENDOR_ORDERS_TITLE}</div>
<a href="https://t.me/{USERS_DETAILS_XTRA_X011_TG_VENDOR_ORDERS}" target="_blank" rel="noopener noreferrer" class="telegram-link">
@{USERS_DETAILS_XTRA_X011_TG_VENDOR_ORDERS}
</a>
</div>
</div>
<!-- ENDIF -->
<!-- IF {USERS_DETAILS_XTRA_X012_TG_CHANEL_VENDOR} -->
<div class="d-flex align-items-center mb-3">
<div class="contact-icon telegram me-3">
<i class="fa-brands fa-telegram fa-xl"></i>
</div>
<div>
<div class="contact-label">{USERS_DETAILS_XTRA_X012_TG_CHANEL_VENDOR_TITLE}</div>
<a href="https://t.me/{USERS_DETAILS_XTRA_X012_TG_CHANEL_VENDOR}" target="_blank" rel="noopener noreferrer" class="telegram-link">
@{USERS_DETAILS_XTRA_X012_TG_CHANEL_VENDOR}
</a>
</div>
</div>
<!-- ENDIF -->
<!-- IF {USERS_DETAILS_XTRA_X200_RESUME_FILE} -->
<div class="d-flex align-items-center mb-3">
<div class="me-3">
<label>{USERS_DETAILS_XTRA_X200_RESUME_FILE_TITLE}:</label>
</div>
<div>
<a href="{PHP.cfg.mainurl}/datas/exflds/xtradbrowusers/{USERS_DETAILS_XTRA_X200_RESUME_FILE}"
class="btn btn-primary btn-sm"
target="_blank"
rel="noopener noreferrer">
<i class="fa-solid fa-download me-1"></i> {PHP.L.Download}
</a>
</div>
</div>
<!-- ENDIF -->
<!-- Дата последнего повышения -->
<!-- IF {USERS_DETAILS_XTRA_X200_LAST_PROMOTION} -->
<div class="d-flex align-items-center mb-3">
<div class="contact-icon calendar me-3">
<i class="fa-solid fa-calendar-alt fa-xl"></i>
</div>
<div>
<div class="contact-label">{USERS_DETAILS_XTRA_X200_LAST_PROMOTION_TITLE}</div>
<div class="contact-value">{USERS_DETAILS_XTRA_X200_LAST_PROMOTION}</div>
</div>
</div>
<!-- ENDIF -->
<!-- Отдел -->
<!-- IF {USERS_DETAILS_XTRA_X200_DEPARTMENT} -->
<div class="d-flex align-items-center mb-3">
<div class="contact-icon building me-3">
<i class="fa-solid fa-building fa-xl"></i>
</div>
<div>
<div class="contact-label">{USERS_DETAILS_XTRA_X200_DEPARTMENT_TITLE}</div>
<div class="contact-value">{USERS_DETAILS_XTRA_X200_DEPARTMENT}</div>
</div>
</div>
<!-- ENDIF -->
<!-- ENDIF -->по желанию в стили темы, в самый конец добавить:
/* для экстраполей модуля пользователей */
.contact-icon {
width: 2.5rem;
height: 2.5rem;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0.5rem;
color: #fff;
flex-shrink: 0;
}
.contact-icon.about { background: #6f42c1; }
.contact-icon.phone { background: #198754; }
.contact-icon.telegram { background: #0088cc; }
.contact-icon.calendar { color: #17a2b8; }
.contact-icon.building { color: #6f42c1; }
.contact-label {
font-size: 0.8125rem;
color: var(--bs-body-color);
opacity: 0.7;
letter-spacing: 0.5px;
text-transform: uppercase;
margin-bottom: 0.25rem;
}
.contact-value {
font-size: 0.9375rem;
font-weight: 500;
}
.telegram-link {
text-decoration: none;
font-weight: 500;
}
/* для экстраполей модуля пользователей */
Всё также просто, - "вагончики" остались прежними, - везем то же самое, просто сменили "тепловоз".
Подробнее в соответствующем файле хукинга.