Forum categories

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

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

webitproff
webitproff • 2026-08-15 21:20 #578

users.tpl или users.contractor.tpl или users.freelancer.tpl

Шаблон списка пользователей, то есть страница сайта, где мы можем фильтровать и искать пользователей по доступным параметрам.
Но в данном конкретном случае нас не интересуют формы вообще!
В отличии, от шаблона регистрации, настройки и редактирования пользователя, мы здесь данные не отправляем в базу, а берем из базы и показываем визитеру.

Такие шаблоны, могут иметь очень разный вид, но в каждом из них будет логический блок "официанта":

<!-- BEGIN: USERS_ROW --> и <!-- END: USERS_ROW -->

это "начало" и "конец" соответственно, то есть пределы, внутри которых мы формируем "лицо" одного элемента, для всех элементов этого списка. 
Если кому будет проще понять, - это "копирка", - вырезали буквы в картонке, сделали трафарет, и пошли под копирку вандалить по стенам домов города, с ведром краски в руках, например, "Покайся!". Ну и так на каждом доме, пока не выйдет кто, да не вправит то, что "сместилось" с моральных координат.

Вобщем находим пределы трафарета

<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
    <!-- BEGIN: USERS_ROW -->
    <div class="col">
        <div class="card h-100 shadow-sm border-0 user-card {USERS_ROW_ODDEVEN}">
            <div class="card-body d-flex flex-column">
            .....
            ......
            </div>
        </div>
    </div>
    <!-- END: USERS_ROW -->
</div>

вставить код, в удобном месте, например сразу после вывода аватара

<!-- IF {PHP|cot_plugin_active('xtradbrowusers')} -->
<!-- О себе -->
<!-- IF {USERS_ROW_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_ROW_XTRA_X020_ABOUT_VENDOR_TEXT_TITLE}</div>
        <div class="contact-value">{USERS_ROW_XTRA_X020_ABOUT_VENDOR_TEXT}</div>
    </div>
</div>
<!-- ENDIF -->
<!-- Телефон (скрыт, показ по кнопке) -->
<!-- IF {USERS_ROW_XTRA_X010_PHONE_VENDOR_ORDERS_VALUE} -->
<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_ROW_XTRA_X010_PHONE_VENDOR_ORDERS_TITLE}</div>
        <div class="d-flex align-items-center">
            <span id="phone-{USERS_ROW_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_ROW_ID}"
            data-phone="{USERS_ROW_XTRA_X010_PHONE_VENDOR_ORDERS_VALUE}"
            onclick="document.getElementById('phone-{USERS_ROW_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_ROW_XTRA_X011_TG_VENDOR_ORDERS_VALUE} -->
<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_ROW_XTRA_X011_TG_VENDOR_ORDERS_TITLE}</div>
        <a href="https://t.me/{USERS_ROW_XTRA_X011_TG_VENDOR_ORDERS_VALUE}" target="_blank" rel="noopener noreferrer" class="telegram-link">
            @{USERS_ROW_XTRA_X011_TG_VENDOR_ORDERS_VALUE}
        </a>
    </div>
</div>
<!-- ENDIF -->
<!-- Telegram-канал -->
<!-- IF {USERS_ROW_XTRA_X012_TG_CHANEL_VENDOR_VALUE} -->
<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_ROW_XTRA_X012_TG_CHANEL_VENDOR_TITLE}</div>
        <a href="https://t.me/{USERS_ROW_XTRA_X012_TG_CHANEL_VENDOR_VALUE}" target="_blank" rel="noopener noreferrer" class="telegram-link">
            @{USERS_ROW_XTRA_X012_TG_CHANEL_VENDOR_VALUE}
        </a>
    </div>
</div>
<!-- ENDIF -->
<!-- Файл (резюме) -->
<!-- IF {USERS_ROW_XTRA_X200_RESUME_FILE_VALUE} -->
<div class="d-flex align-items-center mb-3">
    <div class="me-3">
        <label>{USERS_ROW_XTRA_X200_RESUME_FILE_TITLE}:</label>
    </div>
    <div>
        <a href="{PHP.cfg.mainurl}/datas/exflds/xtradbrowusers/{USERS_ROW_XTRA_X200_RESUME_FILE_VALUE}"
        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_ROW_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_ROW_XTRA_X200_LAST_PROMOTION_TITLE}</div>
        <div class="contact-value">{USERS_ROW_XTRA_X200_LAST_PROMOTION}</div>
    </div>
</div>
<!-- ENDIF -->
<!-- Отдел -->
<!-- IF {USERS_ROW_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_ROW_XTRA_X200_DEPARTMENT_TITLE}</div>
        <div class="contact-value">{USERS_ROW_XTRA_X200_DEPARTMENT}</div>
    </div>
</div>
<!-- ENDIF -->
<!-- ENDIF -->
                              

 

Напоминаю. скриншоты смотрим в этой статье.

Про поезда и паравозики не буду, читайте выше. Подробнее также смотрите в моих шаблонах для Cotonti и в файле хукинга этого плагина!  

This post was edited by webitproff (2026-08-15 21:44, 10 hours ago)
🗿

🧙‍♂️ 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.