Сортировка списка публикаций по дате
Прислано: Elodia
пн, 18/06/2007 - 15:00
Вот еще такой вопрос.
У меня при загрузки публикации обязятельно должна указываться дата ее создания.
Для этого у меня создано специальное поле в типе публикации. Или даже точнее, поле не только для даты, туда же вводится источник и ссылка(из интернета) - это чтобы между ними не было разрыва.
Так вот, как мне сделать, чтобы эти публикации выводились на страницу с помощью модуля view, располагаясь в порядке по той дате, которую я ввожу в поле? И вообще, может необходимо задать отдельное поле для даты? Но тогда как сделать, чтобы она располагалась без разрава в строку сразу под источником и над ссылкой? Поможет ли в этом модуль date?
Короче, если я вас окончательно не запутала, помогите!
- Elodia's blog
- Для комментирования войдите или зарегистрируйтесь
Дату правильнее вводить в отдельном поле. Так лучше работать с данными (сортировать, фильтровать и т.д.). А выводить "без разрыва" вы можете, настроив оформление выводимых данных с помощью CSS.
- Для комментирования войдите или зарегистрируйтесь
А как затать сортировку по введенной дате?
- Для комментирования войдите или зарегистрируйтесь
Ну помогите мне, пожалуйста решить эту проблему.
Это очень важный момент, а я самостоятельно не могу в нем разобраться.
- Для комментирования войдите или зарегистрируйтесь
А может быть кто-нибудь сразу может рассказать, как сделать так, чтобы между данными, которы вбиваются в разные поля на выходе не было разравов. Но при этом, чтобы это распространялось не на все поля ввода?
- Для комментирования войдите или зарегистрируйтесь
наверно тебе надо изучить модуль view
- Для комментирования войдите или зарегистрируйтесь
иши слова темизация, node theme (theming)
- Для комментирования войдите или зарегистрируйтесь
На странице редактирования вида есть раздел "Сортировка". Там из выпадающего списка всевозможных полей выберите "Дата создания" и добавьте в набор критериев сортировки. Потом укажите, по возрастанию или по убыванию нужно сортировать. Не бойтесь экспериментировать. Сделали - посмотрели на результат. Введенные изменения всегда можно удалить.
- Для комментирования войдите или зарегистрируйтесь
О! Если бы все было так просто! Но мне необходимо, чтобы они сортировались не по дате их загрузки на сайт, а по дате написания.
Т.е. допустим, я хочу сегодня разместить статью за 1 июня, а сегодня 19 июня,
ну и чтобы она у меня встала в списке не там, где 19, а там, где 1. И эту проблем я никак не могу разрешить.
- Для комментирования войдите или зарегистрируйтесь
ну значит надо вводить отдельное поледля этой даты и сортировать по нему, а не по дате создания ноды.
- Для комментирования войдите или зарегистрируйтесь
Да! Я именно так и сделала! Создала отдельное поле!
Толька я никак не могу дотумкать, как сделать так, чтобы по нему ноды сортировались!
Скажите, как задать сортировку по этому полю?
- Для комментирования войдите или зарегистрируйтесь
Кстати по темизации ничего толкового не могу пока найти...
Люди, милые, неужели никто не знает как публикаии рассортировать по значениям, которые вводятся в поле с для даты?
- Для комментирования войдите или зарегистрируйтесь
Поместить значение дат в массив и отсортировать его по нужному критерию.
- Для комментирования войдите или зарегистрируйтесь
Ой, извените за непроглядную тупость,
но не могли бы вы объяснить поподробнее как это сделать!
- Для комментирования войдите или зарегистрируйтесь
<?php $result = mysql_query("SELECT node_revisions.body FROM node_revisions, node WHERE node_revisions.nid = node.nid ORDER BY node.created;"); echo "<table>"; while ($row = mysql_fetch_array($result)) echo "<tr><td>", $row["field1"], "</td></tr>"; echo "</table>"; ?>
- Для комментирования войдите или зарегистрируйтесь
а может сделать проще.
включить view.
создать представление, и указать сортировку по полю - дата.
- Для комментирования войдите или зарегистрируйтесь
А в какой файл php-код вставить?
- Для комментирования войдите или зарегистрируйтесь
А насчет включения сортировки по полю дата, там при настройке, в колонке Operator появляется список со следующими пунктами:
Is Equal To
Contains
Contains any Word
Contains all Words
Starts with
Ends with
Does not containt
А в следующей колонке Value пустое поле, видимо для ввода слов. Как с этим поступит, чтобы фильтрация заработала?
Здесь точно не нужен модуль date? Потому, что я его устанавливала, но как-то безрезультатно...
- Для комментирования войдите или зарегистрируйтесь
Т.е. допустим, я хочу сегодня разместить статью за 1 июня, а сегодня 19 июня,
ну и чтобы она у меня встала в списке не там, где 19, а там, где 1.
На странице ввода материала (статьи) есть поле "дата", туда автоматически подставляется дата размещения. Но это поле редактируемое и вы можете писать там произвольную дату, соблюдая, конечно, правила форматирования даты (там есть подсказка).
Тогда и статьи у вас будут датированы временем написания и, соответственно, по нему же будут и сортироваться.
- Для комментирования войдите или зарегистрируйтесь
СПАСИБО ВАМ ОГРОМНОЕ! ЭТО ДЕЙСТВИТЕЛЬНО ПОДЕЙСТВОВАЛО!
- Для комментирования войдите или зарегистрируйтесь
А без view можно по алфавиту отсортировать? Руками чтоб слазить в исодники и там изменить, например, запрос к базе? :)
- Для комментирования войдите или зарегистрируйтесь




Комментарии