
Страница товара
Базовый вывод
Передайте ID текущего товара в pid. Вызов некэшированный ([[!...]] / {'!...' | snippet}).
fenom
{'!msViewCounter' | snippet : [
'pid' => $_modx->resource.id,
'tpl' => 'tplMsViewCounter'
]}modx
[[!msViewCounter?
&pid=`[[*id]]`
&tpl=`tplMsViewCounter`
]]Плагин msViewCounterTrack на OnLoadWebDocument записывает просмотр и регистрирует assets для страницы товара.
Условный вывод только для msProduct
Если один шаблон назначен и товарам, и обычным страницам:
fenom
{set $classKey = $_modx->resource.class_key | default : ''}
{set $isProduct = $classKey && (($classKey | replace : 'msProduct' : '') != $classKey)}
{if $isProduct}
{'!msViewCounter' | snippet : [
'pid' => $_modx->resource.id,
'tpl' => 'tplMsViewCounter'
]}
{/if}modx
[[!msViewCounter?
&pid=`[[*id]]`
&tpl=`tplMsViewCounter`
]]В классическом MODX-синтаксисе надёжнее держать вызов в шаблоне, который назначен только товарам.
Стандартный чанк
Пакет устанавливает tplMsViewCounter (MODX-синтаксис). Для Fenom-чанка используйте те же переменные и {if} вместо :notempty:
fenom
<div class="msvc-counter" data-product-id="{$pid}">
{if $total_text}
<p class="msvc-counter__total">{$total_text}</p>
{/if}
{if $online_text}
<p class="msvc-counter__online">{$online_text}</p>
{/if}
</div>modx
<div class="msvc-counter" data-product-id="[[+pid]]">
[[+total_text:notempty=`<p class="msvc-counter__total">[[+total_text]]</p>`]]
[[+online_text:notempty=`<p class="msvc-counter__online">[[+online_text]]</p>`]]
</div>Плейсхолдеры
| Плейсхолдер | MODX | Fenom |
|---|---|---|
| ID товара | [[+pid]] | {$pid} |
| Просмотры | [[+total]] | {$total} |
| Online | [[+online]] | {$online} |
| Текст просмотров | [[+total_text]] | {$total_text} |
| Текст online | [[+online_text]] | {$online_text} |
Поля total_text и online_text пустые, если в настройках выключены show_total / show_online.

Свой чанк
fenom
{'!msViewCounter' | snippet : [
'pid' => $_modx->resource.id,
'tpl' => 'tplProductSocialProof'
]}modx
[[!msViewCounter?
&pid=`[[*id]]`
&tpl=`tplProductSocialProof`
]]Пример tplProductSocialProof:
fenom
<aside class="product-social-proof">
{if $total_text}
<div class="product-social-proof__item">{$total_text}</div>
{/if}
{if $online_text}
<div class="product-social-proof__item product-social-proof__item--online">{$online_text}</div>
{/if}
</aside>modx
<aside class="product-social-proof">
[[+total_text:notempty=`<div class="product-social-proof__item">[[+total_text]]</div>`]]
[[+online_text:notempty=`<div class="product-social-proof__item product-social-proof__item--online">[[+online_text]]</div>`]]
</aside>Стилизация дефолтного блока: Интеграция — стилизация.
Размещение на карточке
Типичные места в шаблоне msProduct:
- под заголовком и артикулом;
- рядом с ценой и кнопкой «В корзину»;
- в блоке social proof над отзывами.
