Подскажите,пожалуйста,подходящий сниппет для вывода ноды одного типа за сегодняшний день.
ТО есть,чтобы,например,за сегодня 14.03.2011 вывелись все материалы созданные сегодня, а завтра, 15.03.2011, их уже не показывало.
поиском пользовался, находил примерные сниппеты, переделать под себя не получилось: висят ВСЕ материалы одного типа,не зависимо от даты из создания.
во вьювсе разобрался как это делать,но нужен сниппет.
Заранее спасибо.
Комментарии
1) Кто-то сейчас напишет - смотрите код во views
2)
$today_start = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$today_end = $today_start + 86400;
$res = db_query(db_rewrite_sql("SELECT * FROM {node} WHERE status = 1 AND type = '%s' AND created >= %d AND created < %d ) "), $node_type, $today_start, $today_end);
while($node = db_fetch_object($res)){
$items[] = node_view(node_load($node->nid));
}
if($items){
print theme('item_list', $items);
} else {
print t('Today nodes type - type_name not found.', array('type' => node_get_types('type_name', $node_type)));
}
Никакого кода - просто используйте Views.
Человеку сниппет нужен
Люди сами не знают, что им нужно.
G.A. Vinogradov, а ты значит, такой себе ботан, который знает все за других людей? Или просто тупой?
Ого! Быдлогопота осваивает веб-разработку!
Слышь, дай свой template.php погонять до завтра. Да точно верну. Да я тебе говорю подходи завтра в шесть на это же место, я отдам. Ты че бля пацану не веришь?
sas@drupal.org огромное спасибо!вы меня выручили.
позвольте вопрос: если потребуется выводить материал не по дате создания,а по дате из содержимого материала,которое равно сегодняшнему дню, тогда будет так ?
<?php
$today_start = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$today_end = $today_start + 86400;
$res = db_query(db_rewrite_sql("SELECT * FROM {node} WHERE (status = 1) AND (type = '%s') AND (field_for_time >= %d AND field_for_time< %d ) "), $node_type, $today_start, $today_end);
?>
поле даты в содержимом имеет тип "field_for_time"
Вьювс- великая вещь. но мне действительно нужен сниппет. и я знаю, что мне нужно.
Когда я говорю "люди не знают что им нужно", я имею в виду, что зачастую люди просят не решение их задачи, а конкретный инструмент, про который они слышали/знают. Проблема возникает, когда этот конкретный инструмент плохо решает их задачу. В 95% случаях, подобных вашему - Views наилучший вариант. Если вы действительно подпадаете в 5%, то вы - исключение. Ничего не имею против этого
.
теперь понятно, что вы имели в виду.
cck ? Посмотрите и напишите со страницы admin/content/types для Вашего типа - настройка полей реальный тип поля а не название и напишите здесь - тогда смогу что-то написать - но скорей всего точно INNER JOIN прибавится так как обычно в {node} не добавляют поля.
в cck такая настройка поля: label "дата дня" Имя: field_daten Тип: Дата
Формат ввода d/m/y
Вьюз полезен хотя бы тем, что показывает запрос, которым дергает данные.
Делаем нужный вьюз, копируем запрос, а снипет написать, зная запрос — дело простое.
Тип ссk date хранит текстовое представление даты, затрудняюсь вставить его в условие запроса, таблица content_type_<ваш тип> поле field_daten_value связь с node по vid.
вот какой получается запрос из вивса:
node.title AS node_title,
node.language AS node_language,
node_data_field_daten.field_daten_value AS node_data_field_daten_field_daten_value,
node.type AS node_type,
node.vid AS node_vid
FROM node node
LEFT JOIN content_type_event node_data_field_daten ON node.vid = node_data_field_daten.vid
WHERE ((node.status <> 0) AND (node.type IN ('event')))
AND (DATE_FORMAT(STR_TO_DATE(node_data_field_daten.field_daten_value, '%Y-%m-%dT%T'), '%Y-%m-%d') >= '2011-03-15')
ORDER BY node_data_field_daten_field_daten_value ASC
вставлял его в код php блока, но в результате ругается именно на "node_data_field_daten.field_daten_value"
что ж,попробую еще что-нибудь сделать с этим. спасибо за помощь