Всем привет!
Необходимо для новых/обновленных материалов, которые еще не видел пользователь выводить статус/иконку, а после прочтения пользователем содержимого материала скрывать эту иконку/статус.
Я создал представление и вывел эти материалы, но они выводятся без статуса.
Как его можно вывести?
Вот пример из админки /admin/content:
P.S. В каких таблицах БД хранится эта информация?
Комментарии
в history, в шестерке создается запись, када пользователь просматривает ноду. Думаю в семерке что-нить подобное есть.
Точно! Именно там и хранится, спасибо!
А что можете сказать по основному вопросу?
if sql-запрос возвращающий, что не хранится в хистори {
print '$content' . 'NEW';
}
а вообще, я смотрел стандартный модуль трекер и воровал куски из него
но это в шестерке.
Все оказалось гораздо проще.
Посмотрев исходники модуля tracker я нашел, что признак "новое", "обновлено" проставляется с помощью функции модуля "node" - node_mark
'title' => array('data' => l($node->title, 'node/' . $node->nid) . ' ' . theme('mark', array('type' => node_mark($node->nid, $node->changed)))),
Еще раз посмотрел Views и нашел в нем поле
"Содержимое: Содержимое обновлено
Show a marker if the content is new or updated."
Оно содержит именно то, что мне нужно.
Вопрос решен.
тоже хороший способ!
извиняюсь, ошибься номером
для седьмого Друпала, в node.tpl.php
прописываем
<?php print(node_mark($variables['nid'], $variables['changed'])) ?>
и получаем:0 если READ
1 если NEW
2 если UPDATED
а как это переделать чтобы было
если статус 0 - пусто
1 - показать ярлык Новое
2 - Обновленно
отвечу:
if ($variables['classes'] == 1){
print 'новая';}
if ($variables['classes'] == 2){
print 'обновленная';}?>
примерно так, стили по своему желанию