Новый материал на сайта +1

#1 9 августа 2013 в 04:53
Добрый день. Пытаюсь сделать вот такое для объявлений, навеяно тут — instantcms.ru/blogs/moi-blozhek/modul-statistika-materialov-v0-1-3.html:
Иллюстрация

в файле /modules/mod_menu/module.php перед
  1. $template = ($cfg['tpl'] ? $cfg['tpl'] : 'mod_menu.tpl');
вставляем
  1. function newContent($table, $where=''){
  2. if ($where) { $where = ' AND '.$where; }
  3. $new = dbGetField($table, "DATE_FORMAT(pubdate, '%d-%m-%Y') = DATE_FORMAT(NOW(), '%d-%m-%Y'){$where}", 'COUNT(id)');
  4. return $new;
  5. }
  6. $count_sql_board = "SELECT id FROM cms_board_items WHERE published = 1";
  7. $count_board = $inDB->query($count_sql_board) ;
  8. $total_board = $inDB->num_rows($count_board);
  9. $new['board'] = (int)newContent('cms_board_items');
  10. if($new['board']) { $new_board = ' (<span style="color: green;" title="Сегодня +'.$new['board'].'">+'.$new['board'].'</span>)'; }
далее после
  1. $smarty->assign('cfg', $cfg);
вставлем
  1. $smarty->assign('new_board', $new_board);
  2. $smarty->assign('total_board', $total_board);
и выводим переменной {if $item.id==47}{$new_board}{/if} в файле шаблона mod_menu.tpl, где 47 — id меню где вы хотите вывести это
Это для объявлений, для других типов контента аналогично.
И не знаю как сделать чтобы выводилось новые из опереденной категории объявлений. Надеюсь на вашу помощь!
#2 9 августа 2013 в 06:21
как сделать вывод из определенной категории? меняю
  1. $count_sql_board = "SELECT id FROM cms_board_items WHERE published = 1";
на
  1. $count_sql_board = "SELECT id FROM cms_board_items WHERE category_id = 12 and published = 1";
ничего не меняется...:( извините, я в пхп ноль!
#3 9 августа 2013 в 06:25
trOid, спасибо, полезная фича.
#4 9 августа 2013 в 06:47
блин, мозг уже кипит
  1. $count_sql_board = "SELECT i.id
  2. FROM cms_board_items i
  3. INNER JOIN cms_board_cats cat ON i.category_id = 12 WHERE i.published = 1";
попробовал так — не работает!!! zlo
#5 9 августа 2013 в 11:31
получилось вот так:
  1. function newContent($table, $where=''){
  2. if ($where) { $where = ' AND '.$where; }
  3. $new = dbGetField($table, "DATE_FORMAT(pubdate, '%d-%m-%Y') = DATE_FORMAT(NOW(), '%d-%m-%Y'){$where}", 'COUNT(id)');
  4. return $new;
  5. }
  6. //$count_sql_board = "SELECT id FROM cms_board_items on category_id = 12 where published = 1";
  7. $count_sql_board = "SELECT COUNT(*) FROM `cms_board_cats` WHERE category_id = 12 AND published = 1";
  8. $count_board = $inDB->query($count_sql_board) ;
  9. $total_board = $count_board;//$inDB->num_rows($count_board);
  10. $new['board'] = (int)newContent('cms_board_items', 'category_id = 12 ');
  11. if($new['board']) { $new_board = ' <span style="vertical-align:top;font-size:14px;color: white;background-image:url(/images/1.png)" title="Сегодня +'.$new['board'].'">+'.$new['board'].'</span>'; }
#6 16 августа 2013 в 22:45
trOid, Вы переделали диз админки под бутсрап?)
#7 16 августа 2013 в 23:34
причем тут бутсрап? нет
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.