
Подскажите пожалуйста, где нужно указывать нужное количество товара на странице? В интернете не могу найти ответ.
Сейчас на странице сайта-витрины выводится по 12 единиц товара, а нужно 16. Не считайте меня «блондинкой», просто реально туплю, так как никогда не делал этого. Установлен tag_manager2. На странице товара в поле [[*content]] стоит запись [[!tmCatalog]]. А в сниппете tmCatalog написано:
<?php
/**
* snippet tmCatalog
*
*/
//error_reporting(E_ALL);
//ini_set('display_errors',1);
$config = array(
'snippet' => $modx->getOption('tag_mgr2.propertySetSnippet',null,'getPage'),
'elementClass' => 'modSnippet',
'element' => 'getProducts'
);
$output = '';
require_once MODX_CORE_PATH."components/tag_manager2/model
/tm_catalog.class.php";
$tm_catalog = new tmCatalog($modx, $scriptProperties);
//Приводим строку фильтрации к нормальному виду
list($flt_arr, $parents) = $tm_catalog->getRequestParams();
$snippetProperties = $tm_catalog->getSnippetProperties();
$show = isset($_GET['show']) && !is_array($_GET['show']) ?
htmlspecialchars(urldecode(trim($_GET['show']))) : '';
$limit = isset($_GET['limit']) && is_numeric($_GET['limit']) ? $_GET['limit'] :
$snippetProperties['limit'];
$debug = isset($snippetProperties['debug']) ? $snippetProperties['debug'] : false;
$sortby = isset($_GET['sortby']) && !is_array($_GET['sortby']) ?
htmlspecialchars(trim($_GET['sortby'])) :
$modx->getOption('sortby',$snippetProperties,'pagetitle');
$sortdir = isset($_GET['sortdir']) && !is_array($_GET['sortdir']) ?
htmlspecialchars(trim($_GET['sortdir'])) :
$modx->getOption('sortdir',$snippetProperties,'asc');
if(strtolower($sortdir)=='rand' || strtolower($sortby)=='rand') { $sortby = 'RAND()'; }
$sorting = $tm_catalog->getSorting($sortby, $sortdir);
$properties = array_merge($config, $snippetProperties, $sorting);
if(count($flt_arr) > 0){
if(isset($properties['className']) && $properties['className'] != 'modResource'){
$where_arr = !empty($properties['where']) ? $modx->fromJSON($properties['where']) :
array();
$where_arr = array_merge($where_arr,$flt_arr);
$properties['where'] = json_encode($where_arr);
$properties['tvFilters'] = '';
}else{
$properties['tvFilters'] = json_encode($flt_arr);
}
}
if(count($parents)>0) $properties['parents'] = implode(',',$parents);
//if($debug) echo '<pre>'.print_r($properties,true).'</pre>';
$output .= $modx->runSnippet($config['snippet'], $properties);
if(isset($modx->sanitizePatterns['tags1'])) $output =
preg_replace($modx->sanitizePatterns['tags1'], '', $output);
if(isset($modx->sanitizePatterns['tags2'])) $output =
preg_replace($modx->sanitizePatterns['tags2'], '', $output);
return $output;
Олег 31.03.2016 08:20 #
Либо так вызывайте, либо в параметрах сниппета поменяйте значение по умолчанию.
Андрей 31.03.2016 08:47 #