Всего 122 725 комментариев

Василий Наумкин
14 июля 2013, 18:56
0
Ты что ожидаешь в ответ, готовое решение для твоего заказчика?

Тут только один вариант — взять, и сделать.
Василий Наумкин
14 июля 2013, 18:54
0
Из БД через PDO получаются timestamp, поэтому нужно просто:
[[+publishedon:date=`%d.%m.%Y`]]
DeveloperPhilosopher
14 июля 2013, 17:36
0
А как быть с датой?
В чанке прописана так
[[+publishedon:strtotime:date=`%d.%m.%Y`]]
Куда ее прописать в запрос pdoResources?
Володя
14 июля 2013, 01:38
0
да пожалуйста, на правильность не претендую — с ajax только знакомиться начал.
$(document).on('click', 'a.pagin', function(e) {
	e.preventDefault();
	var url = $(this).attr('href').replace("get?page=","");
	jQuery(function($){
        $('#results').load('[[~43]]', {
            action: 'field33',
            parents: '3',
            page: url,
            limit: '10',
           });
});
Мордынский Николай
14 июля 2013, 01:26
0
ну рас разобрался оставил бы решение тут, для потомков))
Владимир
13 июля 2013, 23:11
0
Спасибо!
Михаил
13 июля 2013, 19:35
0
Стояло 1251 поставил utf8_general_ci результата не дало.
Evgeny Epifanov
13 июля 2013, 18:27
0
Еще раз большое спасибо. Буду разбираться. Есть кое какие косяки, но это уже моя головная боль.
Василий Наумкин
13 июля 2013, 18:24
0
Укажи параметр &parent=`id категории`.
Evgeny Epifanov
13 июля 2013, 18:09
0
Спасибо огромное.
Очень быстро. А как его выводить? А то сейчас у всех категорий значение = активной категории.
Василий Наумкин
13 июля 2013, 18:02
2
0
if (empty($parent)) {$parent = $modx->resource->id;}

$pids = array_merge(array($parent), $modx->getChildIds($parent));
$ids = array();

$q = $modx->newQuery('msProduct');
$q->where(array('class_key' => 'msProduct','parent:IN' => $pids,'published' => 1,'deleted' => 0));
$q->select('`msProduct`.`id`');
if ($q->prepare() && $q->stmt->execute()) {
	$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
}

$q = $modx->newQuery('msProduct');
$q->leftJoin('msCategoryMember', 'msCategoryMember', '`msCategoryMember`.`product_id` = `msProduct`.`id`');
$q->where(array('class_key' => 'msProduct','msCategoryMember.category_id:IN' => $pids,'published' => 1,'deleted' => 0));
$q->select('`msProduct`.`id`');
if ($q->prepare() && $q->stmt->execute()) {
	$ids2 = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
	if (!empty($ids2)) {
		$ids = array_unique(array_merge($ids, $ids2));
	}
}

return count($ids);
Володя
13 июля 2013, 11:31
0
все разобрался — надо просто ловить ссылку с пагинации и передавать в снипет. все пашет!
Василий Наумкин
13 июля 2013, 11:30
0
А у меня пашет.

Смотри, как работает пагинация в фильтре тут.
Володя
13 июля 2013, 11:06
0
неа не пашет((( и если задать 'page' => номер страницы — тоже не пашет…
Володя
13 июля 2013, 10:48
0
я правильно понимаю что getpage сам отслеживает номер страницы? Мне нужно поймать при нажатии пагинации page=число и передать в снипет?
Володя
13 июля 2013, 10:01
0
Доброе утро! Пробую разобраться с ajax подзагрузкой ресурсов.
сама страница с вызовом снипета:
<script type="text/javascript" language="JavaScript">
jQuery(function($){
        $('#results').load('[[~43]]', {
            action: 'field33',
            parents: '3',
            limit: '3',
            offset: '3'
            //where: '{"Data.favorite":"1"}'
             });
});
</script>
           <div id="results"></div>
43 ресурс там вызов снипета, вот его код:
<?php
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;}
$action = $_POST['action'];
if (empty($action)) {return;}
$res = '';
switch ($action) {
      case 'field33':     
        $param = array(
        'element' => 'msProducts',
        'offset' => (int)$_POST['offset'],
        'limit' => (int)$_POST['limit'],
        'depth' => $depth,
        'parents' => (int)$_POST['parent'],
        'includeContent'=> $includeContent,
        'tpl'=> $tpl,
        'outputSeparator'=> $outputSeparator,
        'showUnpublished'=> $showUnpublished,
        'showDeleted'=> $showDeleted,
        'showHidden'=> $showHidden
         );
         $documents = $modx->runSnippet('getPageExt',$param);
         return $documents;
}
вопрос — при таком вызове у меня не работает параметр offset, как мне сделать смещение для обновления страницы при пагинации?
спасибо!