Справочник тегов LIST_ROW_* для блока товара в market.list.tpl
Ниже перечислены все теги, которые формируются для каждого товара внутри цикла <!-- BEGIN: LIST_ROW --> в шаблоне списка магазина.
Основная часть тегов создаётся функцией cot_generate_markettags(), вызываемой с параметрами: cot_generate_markettags($item, 'LIST_ROW_', $itemListTruncateText, Cot::$usr['isadmin'], false, '', $backUrl). Внутри функции все ключи массива не имеют префикса; префикс 'LIST_ROW_' добавляется при возврате. Дополнительные теги, такие как {LIST_ROW_OWNER}, {LIST_ROW_ODDEVEN} и другие, назначаются отдельно в цикле market.list.php после вызова функции.
Для каждого тега указан фрагмент исходного кода (до добавления префикса), тип данных и пример вывода. Примеры приведены условно и могут отличаться в зависимости от данных.
| Тег | Назначение | Тип данных | Источник (код функции) и пример вывода |
|---|---|---|---|
{LIST_ROW_URL} | URL страницы товара | string (URL) | Пример: |
{LIST_ROW_ID} | Идентификатор товара | int | Пример: |
{LIST_ROW_TITLE} | Название товара (экранированное) | string (HTML-экранированный) | Пример: |
{LIST_ROW_METATITLE} | Мета-заголовок товара (экранированный) | string (HTML-экранированный) | Пример: |
{LIST_ROW_BREADCRUMBS} | Хлебные крошки товара (категория + название) | string (HTML) | где |
{LIST_ROW_BREADCRUMBS_ITEM} | Полные хлебные крошки: Главная → Market → категория → товар | string (HTML) | Пример: |
{LIST_ROW_ALIAS} | Алиас товара (часть URL) | string | Пример: |
{LIST_ROW_PCOD} | Код товара (артикул) | string | Пример: |
{LIST_ROW_STATE} | Числовой статус товара (0/1/2) | int | Пример: |
{LIST_ROW_STATUS} | Машинное имя статуса (published/pending/draft) | string | где |
{LIST_ROW_LOCAL_STATUS} | Локализованное название статуса | string | Пример: |
{LIST_ROW_CAT} | Код категории товара | string | Пример: |
{LIST_ROW_CAT_URL} | URL категории | string (URL) | Пример: |
{LIST_ROW_CAT_TITLE} | Название категории (экранированное) | string (HTML-экранированный) | Пример: |
{LIST_ROW_CAT_PATH} | Хлебные крошки категории | string (HTML) | Пример: |
{LIST_ROW_CAT_PATH_SHORT} | Краткая ссылка на категорию | string (HTML) | Пример: |
{LIST_ROW_CAT_DESCRIPTION} | Описание категории | string | Пример: |
{LIST_ROW_CAT_ICON} | HTML-код иконки категории (если есть) | string (HTML) | пусто | Пример: |
{LIST_ROW_CAT_ICON_SRC} | Путь к иконке категории | string | пусто | Пример: |
{LIST_ROW_DESCRIPTION} | Краткое описание товара (экранированное) | string (HTML-экранированный) | где |
{LIST_ROW_TEXT} | Полный текст товара (обработанный парсером) | string (HTML) | где |
{LIST_ROW_TEXT_SHORT} | Краткий текст (обрезанный, без HTML) | string | Пример: |
{LIST_ROW_TEXT_CUT} | Текст после обрезки по разделителю more | string (HTML) | где |
{LIST_ROW_TEXT_IS_CUT} | Флаг, был ли текст обрезан | boolean | где |
{LIST_ROW_DESCRIPTION_OR_TEXT} | Описание или полный текст, если описание пустое | string (HTML) | Пример: |
{LIST_ROW_DESCRIPTION_OR_TEXT_CUT} | Описание или обрезанный текст | string (HTML) | Пример: |
{LIST_ROW_MORE} | Ссылка «Подробнее», если текст обрезан | string (HTML) | пусто | Пример: |
{LIST_ROW_AUTHOR} | Имя автора товара | string | Пример: |
{LIST_ROW_OWNER_ID} | ID владельца товара | int | Пример: |
{LIST_ROW_OWNER_NAME} | Имя владельца (из SQL JOIN с пользователями) | string | Пример: |
{LIST_ROW_COSTDFLT} | Цена в валюте по умолчанию, отформатированная | string | Пример: |
{LIST_ROW_COST_USD} | Цена в долларах как число с плавающей точкой | float | Пример: |
{LIST_ROW_COST_USD_RAW} | Цена в долларах строкой без лишних нулей | string | Пример: |
{LIST_ROW_COST_USD_FORMATTED} | Цена в долларах, отформатированная с двумя знаками и пробелом-разделителем тысяч (если > 0) | string | пусто | Пример: |
{LIST_ROW_CREATED} | Дата создания (отформатированная) | string | где |
{LIST_ROW_UPDATED} | Дата обновления (отформатированная) | string | Пример: |
{LIST_ROW_CREATED_STAMP} | UNIX timestamp создания | int | Пример: |
{LIST_ROW_UPDATED_STAMP} | UNIX timestamp обновления | int | Пример: |
{LIST_ROW_HITS} | Количество просмотров | int | Пример: |
{LIST_ROW_ADMIN} | HTML-блок админ-действий (если есть права) | string (HTML) | пусто | Пример: |
{LIST_ROW_ADMIN_EDIT} | Ссылка «Редактировать» | string (HTML) | пусто | Пример: |
{LIST_ROW_ADMIN_EDIT_URL} | URL редактирования | string (URL) | пусто | Пример: |
{LIST_ROW_ADMIN_UNVALIDATE} | Ссылка смены статуса (утвердить/снять) | string (HTML) | пусто | (для товара в очереди: |
{LIST_ROW_ADMIN_UNVALIDATE_URL} | URL смены статуса | string (URL) | пусто | Пример: |
{LIST_ROW_ADMIN_DELETE} | Ссылка «Удалить» с подтверждением | string (HTML) | пусто | Пример: |
{LIST_ROW_ADMIN_DELETE_URL} | URL удаления | string (URL) | пусто | Пример: |
{LIST_ROW_ADMIN_CLONE} | Ссылка «Клонировать» (если есть право записи) | string (HTML) | пусто | Пример: |
{LIST_ROW_ADMIN_CLONE_URL} | URL клонирования | string (URL) | пусто | Пример: |
{LIST_ROW_OWNER} | HTML-ссылка на профиль владельца | string (HTML) | Назначается отдельно: Пример: |
{LIST_ROW_ODDEVEN} | Класс чётности строки (odd/even) | string | Пример: |
{LIST_ROW_NUM} | Порядковый номер на текущей странице | int | Пример: |
{LIST_ROW_ABS_NUM} | Абсолютный номер с учётом пагинации | int | Пример: |
{LIST_ROW_OWNER_*} | Пользовательские теги владельца (например, LIST_ROW_OWNER_NAME, LIST_ROW_OWNER_ID) | различные | Назначаются через: Пример: |
Примечания
- Все перечисленные теги доступны только внутри цикла
<!-- BEGIN: LIST_ROW --> ... <!-- END: LIST_ROW -->шаблона. - Основная часть тегов (все, кроме
{LIST_ROW_OWNER},{LIST_ROW_ODDEVEN},{LIST_ROW_NUM},{LIST_ROW_ABS_NUM}иLIST_ROW_OWNER_*) формируется функциейcot_generate_markettags(). Внутри функции ключи не имеют префикса, но при возврате к каждому ключу добавляется префикс, переданный вторым аргументом (в данном случае'LIST_ROW_'). - Теги
{LIST_ROW_OWNER},{LIST_ROW_ODDEVEN},{LIST_ROW_NUM},{LIST_ROW_ABS_NUM}иLIST_ROW_OWNER_*назначаются уже после вызоваcot_generate_markettags()непосредственно в цикле файлаmarket.list.php. - Источник данных — массив
$item, полученный из SQL-запроса с объединением таблицcot_marketиcot_users(для получения имени владельца).
Разница между {LIST_ROW_COST_USD}, {LIST_ROW_COST_USD_RAW} и {LIST_ROW_COST_USD_FORMATTED}
Все три тега используют одно и то же поле БД fieldmrkt_cost_usd, но отличаются форматированием:
{LIST_ROW_COST_USD}— возвращает значение как float без изменений (например,12.5). Используйте для математических операций или когда нужна сырая числовая величина.{LIST_ROW_COST_USD_RAW}— возвращает строку, в которой число отформатировано с двумя знаками после запятой, но затем удалены завершающие нули и точка (если число целое). Например, из12.50получится12.5, а из12.00—12. Подходит для вывода цены без лишних десятичных знаков.{LIST_ROW_COST_USD_FORMATTED}— возвращает строку, отформатированную черезnumber_format($value, 2, '.', ' ')(два знака после запятой и пробел как разделитель тысяч), но только если цена больше нуля. Если цена равна нулю, возвращается пустая строка. Используйте для красивого отображения цены с гарантированными двумя десятичными знаками.
Таким образом, COST_USD — это число, COST_USD_RAW — «чистовая» строка без нулей, COST_USD_FORMATTED — строго отформатированная строка с двумя знаками и пробелами.