Forum categories

Руководство по тегам в шаблонах - полная версия шпаргалка

Плагин 'xtradbrowusers'. Интеграция и прописание тегов для вывода экстраполей в шаблонах. Текст полной версии шпаргалки в каком шаблоне какие теги прописывать правильно.

webitproff
webitproff • 2026-08-15 01:31 #576

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;
}
/* для экстраполей модуля пользователей  */

 

Всё также просто, - "вагончики" остались прежними, - везем то же самое, просто сменили "тепловоз".

Подробнее в соответствующем файле хукинга.

                        

🗿

🧙‍♂️ Well met, good traveler! Fate has guided your steps to our humble realm. Here, wise sages and masters of the coding craft ⚒️📜 gather to unravel the mysteries of the code ✨⚙️, share their knowledge, and add new chapters to our chronicles.
⬅️ To the left lie ancient scrolls 📚 filled with forgotten wisdom. ⬆️ Straight ahead, friendly folk offer counsel 💬 to those in need. ➡️ To the right, you may become a chronicler ✍️ yourself, sharing your craft and leaving words of wisdom for those yet to come.
📝 Delay no longer—tell us the name by which you are known, complete the rite of registration 🛡️, and join our fellowship!
🏰 Our brotherhood holds no secret initiation, yet many halls remain closed to wandering guests, for some knowledge 💎 is reserved for those who choose to walk this path beside us.