Вывод кол-ва опубликованных документов
Цель: Вывести общее кол-во опубликованных на текущее число документов, включая документы из подкатегорий.
Вот так пытаюсь, но выводит кол-во только одного «каталога», а не всех вложенных «каталогов»/категорий
сниппет: LastUpdate
Еще смущает foreach, есть ли аналогичный способ подсчета кол-ва документов с учетом даты?
Смотрел бд, там дата в микротайме, по этому приходится её приводить к Ymd.
Вот так пытаюсь, но выводит кол-во только одного «каталога», а не всех вложенных «каталогов»/категорий
сниппет: LastUpdate
if (!isset($id)) {return;}
if (!isset($class)) {$class = 'num';}
if (!isset($published)) {$published = 1;}
$date = date(Ymd);
//$date = '20131101';//тест
$children = $modx->getCollection('modResource', array(
'parent' => $id,
'publishedby' => $published,
'isfolder' => 0
));
$quantity = 0;
foreach($children as $child) {
if(date(Ymd,$child->publishedon) == $date) { $quantity = $quantity+1;}
}
if($quantity) {return '<span class="'.$class.'">'.$quantity.'</span>';} else {return;}
К сожалению это не совсем то что я хотел, но пока не могу понять как сделать то что хочется т.е. учитывать и вложенные каталоги с документами.Еще смущает foreach, есть ли аналогичный способ подсчета кол-ва документов с учетом даты?
Смотрел бд, там дата в микротайме, по этому приходится её приводить к Ymd.
Комментарии: 5
о, там много всякого, буду экспериментировать, перепишу, чтоб выводилось без MS. =)
Спасибо.
Спасибо.
Василий, вам не приходилось использовать сравнение дат BETWEEN? такое возможно использовать в modx запросах?
&where=`["и здесь пиши любое SQL условие"]`
Сделал, правда использовал другую вашу статью.
Сниппет LastUpdate:
Вызов в чанке/шаблоне:
Результат:
Вывод шильдика с количеством новых статей в категории, или помечает шильдиком "new".
Сниппет LastUpdate:
<?php
$pubTime = strtotime(date("Y-m-d"));//текущая дата в секунадах
$pubTimeEnd = $pubTime+(24*60*60);//следующий день
$ids = $modx->getChildIds($input);
$count = 0;
$value = 0;
if (!empty($ids)) {//проверяем дочерние ресурсы
$count = $modx->getCount('modResource', array(
'id:IN' => $ids
,'isfolder' => 0
,'publishedon:>' => $pubTime
,'publishedon:<=' => $pubTimeEnd
));
} else {//проверяем текущий ресурс
$count = $modx->getCount('modResource', array(
'id:IN' => array($input)
,'isfolder' => 0
,'publishedon:>' => $pubTime
,'publishedon:<=' => $pubTimeEnd
));
$value = 'new';
}
if($count) {return '<span class="last-update">'.($value?$value:$count).'</span>';} else {return ' ';}
Вызов в чанке/шаблоне:
[[+id:LastUpdate]]
Результат:
Вывод шильдика с количеством новых статей в категории, или помечает шильдиком "new".
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.