Просмотренные ресурсы на MODX
Для реализации истории просмотренных страниц пользователя на CMF MODX, создадим простой сниппет, который будет это делать.
Для начала нам потребуется создать новый сниппет в MODX и назвать его ViewedPages:
$id = $modx->resource->id;
$template = $modx->resource->template;
if (isset($_SESSION['viewed'])) {
if (!in_array($id, $_SESSION['viewed'])) {
if (count($_SESSION['viewed']) > 10) {
$_SESSION['viewed'] = array();
}
if ($template ==2) {
$_SESSION['viewed'][] = $id;
}
}
if (!isset($_SESSION['viewed'])) {
return;
}
$ids = array_reverse($_SESSION['viewed']);
if (!empty($ids)) {
$res = implode(",", $ids);
$snippet = 'pdoResources';
$config = array(
'resources' => $res,
'parents' => $parents,
'limit' => $limit,
'tpl' => $tpl
);
return $modx->runSnippet($snippet, $config);
}
} else {
$_SESSION['viewed'] = array();
if ($template ==2) {
$_SESSION['viewed'][] = $id;
}
}
Вызвать данный сниппет на любой странице или в шаблоне(Вызывать его нужно без кеширования):