php код для блока

LLlaMaH

Вот он я
Регистрация
31 Мар 2009
Сообщения
247
Реакции
320
Думаю, для тех, кто шарит в программировании для drupal, не составит труда написать код для блока, который добавляет несколько (например, 5) предыдущих статей из этой же категории (или того же типа материала - если не выйдет с категорией, но желательно категория) в хронологическом порядке. Как мне кажется, там один запрос + вывод результата. Ну а темизацию я уже сам доделаю.

Пожалуйста :)
 
На Views не пробовали делать? По моему с фильтрацией можно этого добиться.
 
Пробовал, но что-то голову сломал, не получилось.
 
C помощью views.
1. Сортировка - Дата создания(убывание)
2. Фильтр - опубликовано и нужный тип
3. Поля блока - на вкус и цвет...
4. (самое главное) Аргументы - Таксономия : ID Термина (с глубиной)
настройки (сверху в низ)
заголовок - %1
пусто
Если аргумента нет, то: Скрыть представление / Страница не найдена (404); справа all, Все
Настройки проверки
Термин таксономии
Тип:
ID терминов разделенные + и ;
Страница 404
Глубина - 0
Разрешить множественные.... - надо отметить
Все.
При предпросмотре поставить Id термина таксономии(категории)
 
Спасибо, что-то получается!
А как ограничить количество? (выводятся все)


Тьфу, затупил))) Items to display ...
 
Эта вьюшка берет последние статьи из категории (если я ее правильно настроил). А нужно пять предыдущих статей. Т.е. в категории есть
Статья1
Статья2
Статья3
Статья4
Статья5
Статья6
Статья7

Для статьи7 это будут статьи 65432
Для статьи5 это будут статьи 4321

Наверное, я не корректно объяснил в самом начале.
 
Получается, надо найти ответ на вопрос "Как вытянуть во views записи, которые созданы раньше, чем текущая запись"? (то, что они из этой категории уже вытянуть удалось).
 
бьюсь хрен знает сколько над этим вопросом, нифига не получается... есть спецы по аргументам views?
 
нужно поставить модуль httx://drupal.org/project/viewsphpfilter
версия друпала же 6?

после установки в фильтрах появится вариант Node: Node ID PHP handler
выбираете опции
Operator: filter to these IDs
Handler: PHP code

PHP (or IDs:(

$node = node_load(arg(1));
$ncreated = $node->created;
$nodeids = array();
$my_result = db_query("SELECT nid FROM {node} WHERE created < %d", $ncreated);
while ($my_row = db_fetch_array($my_result))
{
$nodeids[] = $my_row['nid'];
}
return $nodeids;

код тупо берет id ноды текущей страницы и выводит все ноды у которых дата создания меньше даты создания текущей ноды.
 
СПАСИБО всем (и кнопкой тоже нажимал :))!
Сделал с помощью постов aviastop и danjae.
Только во 2-м пункте где фильтры - там тип не нужен, он же вроде определяется в аргументах.
 
Назад
Сверху