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

Тема в разделе "Drupal", создана пользователем LLlaMaH, 25 май 2012.

Информация :
Прежде чем создать новую тему внимательно ознакомьтесь с правилами раздела
Модераторы: DMS
  1. LLlaMaH

    LLlaMaH Вот он я

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

    Пожалуйста :)
     
  2. danjae

    danjae Постоялец

    Регистр.:
    20 фев 2008
    Сообщения:
    71
    Симпатии:
    7
    На Views не пробовали делать? По моему с фильтрацией можно этого добиться.
     
  3. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    251
    Симпатии:
    359
    Пробовал, но что-то голову сломал, не получилось.
     
  4. aviastop

    aviastop Постоялец

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

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    251
    Симпатии:
    359
    Спасибо, что-то получается!
    А как ограничить количество? (выводятся все)


    Тьфу, затупил))) Items to display ...
     
  6. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    251
    Симпатии:
    359
    Эта вьюшка берет последние статьи из категории (если я ее правильно настроил). А нужно пять предыдущих статей. Т.е. в категории есть
    Статья1
    Статья2
    Статья3
    Статья4
    Статья5
    Статья6
    Статья7

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

    Наверное, я не корректно объяснил в самом начале.
     
  7. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    251
    Симпатии:
    359
    Получается, надо найти ответ на вопрос "Как вытянуть во views записи, которые созданы раньше, чем текущая запись"? (то, что они из этой категории уже вытянуть удалось).
     
  8. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    251
    Симпатии:
    359
    бьюсь хрен знает сколько над этим вопросом, нифига не получается... есть спецы по аргументам views?
     
  9. danjae

    danjae Постоялец

    Регистр.:
    20 фев 2008
    Сообщения:
    71
    Симпатии:
    7
    нужно поставить модуль 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 ноды текущей страницы и выводит все ноды у которых дата создания меньше даты создания текущей ноды.
     
    LLlaMaH нравится это.
  10. LLlaMaH

    LLlaMaH Вот он я

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