Теги шаблона market.tpl — детальная таблица
Ниже перечислены все теги, назначаемые в шаблоне просмотра отдельного товара модулем Market PRO. Для каждого тега указаны назначение, логическая последовательность формирования, а также источник: строка локализации, поле в БД, функция импорта или функция генерации HTML.
| Тег | Назначение | Источник (локализация / импорт / БД / функция) |
|---|---|---|
{MARKET_URL} | URL страницы товара | БД: $item['fieldmrkt_pageurl'], формируется через cot_url('market', ['c' => $item['fieldmrkt_cat'], 'al'|'id' => ...]). Тип: string (URL). |
{MARKET_ID} | ID товара | БД: $item['fieldmrkt_id']. Тип: integer. |
{MARKET_TITLE} | Название товара (экранированное) | БД: $item['fieldmrkt_title'], обработано htmlspecialchars(). Тип: string. |
{MARKET_METATITLE} | Мета-заголовок товара | БД: $item['fieldmrkt_metatitle'], обработано htmlspecialchars(). Тип: string. |
{MARKET_BREADCRUMBS} | Хлебные крошки (без учёта главной страницы) | Функция cot_breadcrumbs($breadcrumbs, Cot::$cfg['homebreadcrumb']). $breadcrumbs формируется из структуры категорий и ссылки на товар. Возвращает HTML-строку. |
{MARKET_BREADCRUMBS_ITEM} | Полные хлебные крошки с главной и разделом магазина | Функция cot_breadcrumbs(...); массив включает главную, раздел Market, путь категории и название товара. Возвращает HTML-строку. |
{MARKET_ALIAS} | Алиас товара | БД: $item['fieldmrkt_alias']. Тип: string. |
{MARKET_PCOD} | Код товара (артикул/внешний код) | БД: $item['fieldmrkt_pcod']. Тип: string. |
{MARKET_STATE} | Числовой статус товара (0 – опубликован, 1 – на рассмотрении, 2 – черновик) | БД: $item['fieldmrkt_state']. Тип: integer. |
{MARKET_STATUS} | Машинное имя статуса (published, pending, draft) | Функция cot_market_status($item['fieldmrkt_state']). Возвращает string. |
{MARKET_LOCAL_STATUS} | Локализованное название статуса | Локализация: Cot::$L['market_status_' . $item['fieldmrkt_status']]. Тип: string. |
{MARKET_CAT} | Код категории товара | БД: $item['fieldmrkt_cat']. Тип: string. |
{MARKET_CAT_URL} | URL категории товара | Функция cot_url('market', ['c' => $item['fieldmrkt_cat']]). Тип: string (URL). |
{MARKET_CAT_TITLE} | Название категории товара | Структура: Cot::$structure['market'][$item['fieldmrkt_cat']]['title'], экранировано. Тип: string. |
{MARKET_CAT_PATH} | Хлебные крошки пути категории | Функция cot_breadcrumbs(cot_structure_buildpath('market', $item['fieldmrkt_cat']), false, false). Возвращает HTML-строку. |
{MARKET_CAT_PATH_SHORT} | Короткая ссылка на категорию | cot_rc_link($cat_url, $catTitle). Возвращает HTML-ссылку. |
{MARKET_CAT_DESCRIPTION} | Описание категории | Структура: Cot::$structure['market'][$item['fieldmrkt_cat']]['desc']. Тип: string. |
{MARKET_CAT_ICON} | Иконка категории (HTML-изображение) | Функция cot_rc('img_structure_cat', ...) на основе Cot::$structure['market'][$item['fieldmrkt_cat']]['icon']. Возвращает HTML-строку. |
{MARKET_CAT_ICON_SRC} | URL иконки категории | Структура: Cot::$structure['market'][$item['fieldmrkt_cat']]['icon']. Тип: string (URL). |
{MARKET_DESCRIPTION} | Краткое описание товара | БД: $item['fieldmrkt_desc'], экранировано. Тип: string. |
{MARKET_TEXT} | Полный текст товара (после обработки парсером) | cot_parse($item['fieldmrkt_text'], $cfg['market']['marketmarkup'], $item['fieldmrkt_parser']). Возвращает HTML-строку. Может переопределяться при мультивкладках. |
{MARKET_TEXT_SHORT} | Короткая версия текста (обрезка до 250 символов) | cot_cutstring(strip_tags($item['fieldmrkt_text']), 250). Тип: string. |
{MARKET_TEXT_CUT} | Текст, обрезанный после тега [more] или первого [newpage] | cot_cut_more_market($text), затем при необходимости cot_string_truncate(). Возвращает HTML-строку. |
{MARKET_TEXT_IS_CUT} | Флаг, был ли текст обрезан | Логическое значение (true/false) из сравнения длины исходного и обрезанного текста. Тип: boolean. |
{MARKET_DESCRIPTION_OR_TEXT} | Краткое описание, либо полный текст, если описание пусто | $itemDescription !== '' ? $itemDescription : $text. Тип: string. |
{MARKET_DESCRIPTION_OR_TEXT_CUT} | Краткое описание или обрезанный текст | $itemDescription !== '' ? $itemDescription : $text_cut. Тип: string. |
{MARKET_MORE} | Ссылка «Читать далее», если текст обрезан | cot_rc('list_more', ['page_url' => $item['fieldmrkt_pageurl']]). Возвращает HTML-ссылку или пустую строку. |
{MARKET_AUTHOR} | Автор товара (текстовое поле) | БД: $item['fieldmrkt_author'], экранировано. Тип: string. |
{MARKET_OWNER_ID} | ID владельца товара | БД: $item['fieldmrkt_ownerid']. Тип: integer. |
{MARKET_OWNER_NAME} | Имя владельца товара (из таблицы users) | БД: $item['user_name'], экранировано. Тип: string. |
{MARKET_COSTDFLT} | Цена в валюте по умолчанию (отформатированная) | БД: $item['fieldmrkt_costdflt'], форматируется через number_format. Тип: string. |
{MARKET_COST_USD} | Цена в долларах США (как число с плавающей точкой) | БД: $item['fieldmrkt_cost_usd'], приводится к float. Тип: float. |
{MARKET_COST_USD_RAW} | Цена в USD без лишних нулей (сырое форматирование) | rtrim(rtrim(number_format((float)$item['fieldmrkt_cost_usd'], 2, '.', ''), '0'), '.'). Тип: string. |
{MARKET_COST_USD_FORMATTED} | Отформатированная цена в USD (2 знака после запятой) | Если цена > 0, number_format($item['fieldmrkt_cost_usd'], 2, '.', ' '), иначе пустая строка. Тип: string. |
{MARKET_CREATED} | Дата создания товара (отформатированная) | cot_date('datetime_medium', $item['fieldmrkt_date']). Тип: string. |
{MARKET_UPDATED} | Дата последнего обновления (отформатированная) | cot_date('datetime_medium', $item['fieldmrkt_updated']). Тип: string. |
{MARKET_CREATED_STAMP} | Timestamp даты создания | БД: $item['fieldmrkt_date']. Тип: integer (Unix timestamp). |
{MARKET_UPDATED_STAMP} | Timestamp последнего обновления | БД: $item['fieldmrkt_updated']. Тип: integer (Unix timestamp). |
{MARKET_HITS} | Счётчик просмотров | БД: $item['fieldmrkt_count']. Тип: integer. |
{MARKET_ADMIN} | HTML-блок админ-действий (редактирование, удаление и т.п.) | cot_rc('list_row_admin', ...) при наличии прав администратора. Возвращает HTML-строку. |
{MARKET_ADMIN_EDIT} | Ссылка «Редактировать» для администратора или владельца | cot_rc_link($edit_url, Cot::$L['Edit']). Возвращает HTML-ссылку. Доступно при admin_rights или если пользователь владелец. |
{MARKET_ADMIN_EDIT_URL} | URL редактирования товара | cot_url('market', "m=edit&id={$item['fieldmrkt_id']}"). Тип: string (URL). |
{MARKET_ADMIN_UNVALIDATE} | Ссылка для смены статуса (утвердить/снять с публикации) | cot_rc_link(...) в зависимости от статуса. Возвращает HTML-ссылку. Только для администраторов. |
{MARKET_ADMIN_UNVALIDATE_URL} | URL действия утверждения/снятия с публикации | cot_url('admin', ...) с параметрами. Тип: string (URL). |
{MARKET_ADMIN_DELETE} | Ссылка «Удалить» с подтверждением | cot_rc_link($delete_confirm_url, $L['Delete'], 'class="confirmLink"'). Только для администраторов. |
{MARKET_ADMIN_DELETE_URL} | URL удаления товара | cot_url('market', "m=edit&a=update&delete=1&id=...&x=..."). Тип: string (URL). |
{MARKET_ADMIN_CLONE} | Ссылка «Клонировать товар» | cot_rc_link($clone_url, $L['market_clone']). Доступно при праве записи. |
{MARKET_ADMIN_CLONE_URL} | URL клонирования товара | cot_url('market', "m=add&c=...&clone=..."). Тип: string (URL). |
{MARKET_<ИМЯ_ДОП_ПОЛЯ>} | Значение дополнительного поля товара | БД: $item['fieldmrkt_<имя>']. Обрабатывается через cot_build_extrafields_data('market', $exfld, $value, $item['fieldmrkt_parser']). Тип зависит от поля. |
{MARKET_<ИМЯ_ДОП_ПОЛЯ>_TITLE} | Название дополнительного поля | cot_extrafield_title($exfld, 'market_'). Использует локализацию или описание поля. Тип: string. |
{MARKET_<ИМЯ_ДОП_ПОЛЯ>_VALUE} | Сырое значение дополнительного поля | БД: $item['fieldmrkt_<имя>']. Тип: string/число в зависимости от поля. |
{MARKET_CAT_<ИМЯ_ДОП_ПОЛЯ>} | Значение дополнительного поля категории | Структура: Cot::$structure['market'][$item['fieldmrkt_cat']][<имя>]. Обрабатывается cot_build_extrafields_data('structure', $exfld, $value). |
{MARKET_CAT_<ИМЯ_ДОП_ПОЛЯ>_TITLE} | Название дополнительного поля категории | cot_extrafield_title($exfld, 'structure_'). Тип: string. |
{MARKET_CAT_<ИМЯ_ДОП_ПОЛЯ>_VALUE} | Сырое значение дополнительного поля категории | Cot::$structure['market'][$item['fieldmrkt_cat']][<имя>]. Тип: string/число. |
{MARKET_OWNER} | Ссылка на профиль владельца товара | cot_build_user($item['fieldmrkt_ownerid'], $item['user_name']). Возвращает HTML-ссылку на пользователя. Тип: string. |
{MARKET_OWNER_<ТЕГ_ПОЛЬЗОВАТЕЛЯ>} | Дополнительные теги пользователя-владельца (имя, аватар и т.д.) | cot_generate_usertags($item, 'MARKET_OWNER_'). Возвращает набор тегов с префиксом MARKET_OWNER_. Типы зависят от тегов пользователя. |
{MARKET_BUY_DESCRIPTION} | Описание под кнопкой покупки (формируется с подстановкой названия товара) | sprintf($L['market_text_under_description'] ?? '%s', htmlspecialchars($title_to_use), htmlspecialchars($title_to_use)). Учитывает перевод i18n, если активен. Тип: string. |
{MARKET_MULTI_TABNAV} | Навигация по вкладкам (пагинация) | cot_pagenav('market', $base, $item['fieldmrkt_tab'], $item['fieldmrkt_totaltabs'], 1, 'pg')['main']. Возвращает HTML-строку. Присутствует только если текст содержит [newpage] и создано несколько вкладок. |
{MARKET_MULTI_TABTITLES} | Заголовки вкладок, разделённые <br /> | Массив заголовков, склеенный через implode('<br />', $item['fieldmrkt_tabtitles']). Тип: HTML-строка. |
{MARKET_MULTI_CURTAB} | Номер текущей вкладки (начиная с 1) | $item['fieldmrkt_tab'] + 1. Тип: integer. |
{MARKET_MULTI_MAXTAB} | Общее количество вкладок | $item['fieldmrkt_totaltabs']. Тип: integer. |
{MARKET_TEXT} | Текст текущей вкладки (при мультивкладках переопределяется) | После обработки мультивкладок $item['fieldmrkt_text'] заменяется на $item['fieldmrkt_tabs'][$item['fieldmrkt_tab']]. Тип: string (HTML). |
{TPL_PATH} | Путь к файлу используемого шаблона | $cfg['mainurl'] . ' / ' . $mskin. Тип: string. |
Примечания:
- Все основные теги товара формируются функцией
cot_generate_markettags($item, 'MARKET_', ...), которая возвращает массив тегов с префиксомMARKET_. Данные берутся из массива$item, загруженного из таблицыcot_marketс JOIN на таблицу пользователей. - Теги
MARKET_OWNER_*добавляются черезcot_generate_usertags()и соответствуют тегам пользователя (обычноMARKET_OWNER_NAME,MARKET_OWNER_AVATARи т.д.). - Теги
MARKET_MULTI_*назначаются только если в тексте товара присутствует маркер[newpage], разбивающий контент на вкладки.