Последние просмотренные товары

Сниппет выводит последние просмотренные страницы. Запись в сессию производится согласно указанному шаблону для ресурсов.

ПАРАМЕТРЫ СНИППЕТА

  • $tpl=isset($tpl) ? $modx->getChunk($tpl) : '<div class="recent"></div>';
  • $templateID = isset($templateID) ? $templateID : 7;
  • $itemTpl = isset($itemTpl) ? getChunk($itemTpl) : '<li><a target="_blank" href="[~~]"></a></li>';
  • $limit= isset($limit) ? $limit : 5;

ПРИМЕР ВЫЗОВА

<?php
//error_reporting(E_ALL);
//session_start();
/*placeholders
- кол-во просмотренных ресурсов
- наименования
*/
if(!defined('MODX_BASE_PATH')){die('What are you doing? Get out of here!');}
$id = $modx->documentIdentifier;
$tpl=isset($tpl) ? $modx->getChunk($tpl) : '<div class="recent"></div>';
$templateID = isset($templateID) ? $templateID : 7;
$itemTpl = isset($itemTpl) ? getChunk($itemTpl) : '<li><a target="_blank" href="[~~]"></a></li>';
$limit= isset($limit) ? $limit : 5;
$unset = '<a class="unset_recent" href="poslednie-prosmotrennyie-tovaryi&unset=recent">очистить</a>';//$count=1;
$ch = $modx->getDocument($id);
if ($ch['template']==$templateID)
{
if (is_array($_SESSION['goods']['viewed']))
{
if (!in_array($id,$_SESSION['goods']['viewed']))
{
$_SESSION['goods']['viewed'][]= $id;
}
}
else
{
$_SESSION['goods']['viewed'] = array();
}}if (count($_SESSION['goods']['viewed']) > $limit)
{
array_shift($_SESSION['goods']['viewed']);
}
$SV = array_reverse($_SESSION['goods']['viewed']);foreach ($SV as $itemId)
{
$res = $modx->getDocument($itemId); //get need resource
$tp .= str_replace (array('',''),array($res['id'],$res['pagetitle']),$itemTpl);
}//print_r ($SV);
//$_SESSION['goods']['viewed'] = array_unique(array_reverse($_SESSION['goods']['viewed']));
$count = count($SV);
$modx->setPlaceholder('count_recent',$count);
$modx->setPlaceholder('lines',$tp);
$modx->setPlaceholder('unset',$unset);
$output = $tpl;
//$ar = array_unique(array_reverse($_SESSION['goods']['viewed']));
//$output .= '<a href="http://www.salon-edelweiss.ru/poslednie-prosmotrennyie-tovaryi.html">Просмотренные товары ('.count($ar).')</a>';
//print_r ($_SESSION['goods']['viewed']);
if (!empty($SV))
{
//return $output;
return $output;
}
?>

Отправить заявку на создание сайта

Сообщение отправлено