Активируем композит, подключаем внешние CSS/JS, выводим список элементов с имитацией динамического счётчика просмотров и добавляем в футер врезку со статистикой через SetViewTarget.
| Код |
|---|
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
// Подключает стили и скрипты шаблона, активирует композит, выводит список элементов с динамическим счётчиком просмотров и добавляет врезку в футер с общей статистикой
$this->setFrameMode(true);
$this->addExternalCss($this->GetFolder() . '/assets/style.css');
$this->addExternalJs($this->GetFolder() . '/assets/stats.js');
$this->SetViewTarget('footer_stats');
?>
<div class="footer-stats">
<?= GetMessage('TOTAL_ITEMS') ?>: <strong><?= count($arResult['ITEMS']) ?></strong>,
<?= GetMessage('UPDATED_AT') ?>: <time><?= date('H:i') ?></time>
</div>
<?php
$this->EndViewTarget();
?>
<div class="items-list">
<?php foreach ($arResult['ITEMS'] as $item): ?>
<div class="item">
<h3><?= htmlspecialcharsbx($item['TITLE']) ?></h3>
<?php $frame = $this->createFrame('views_' . $item['ID'])->begin(); ?>
<small><?= GetMessage('VIEWS') ?>: <?= rand(10, 999) ?></small>
<?php $frame->end(); ?>
</div>
<?php endforeach; ?>
</div>
<?php
$templateData = ['component_used' => true]; |