Drupal → Сниппет вывода последних материалов

03.08.2011

Сниппет выводит ссылки на 5 последних добавленных материалов типа article:

<?php
$nodes = db_select('node', 'n')
  ->fields('n', array('nid', 'title'))
  ->condition('n.type', 'article')
  ->condition('n.status', NODE_PUBLISHED)
  ->orderBy('n.created', 'DESC')
  ->range(0, 5)
  ->execute();
$titles = node_title_list($nodes);
echo drupal_render($titles);
?>

Что такое сниппет и как им воспользоваться.

Написанное актуально для
Drupal 7
Похожие записи

Комментарии

Можно ещё тэг добавить: ->addTag('node_access');

Гость
03.02.2012, 02:38

На php 5.3 код работает, но возвращает ошибку:
Strict warning: Only variables should be passed by reference в функции eval() (строка ... в файле /path/to/drupal/modules/php/php.module(80) : eval()'d code).

Спасибо! Работает. Восхищен. Оперативность решения 2 минуты. Время к 3-м часам ночи

xandeadx, подскажите, пожалуйста, как этот сниппет модифицировать, чтобы кроме заголовка выводился бы краткий анонс ноды (ну, символов 300)? спасибо.

Гость
12.09.2012, 15:46

Да тоже очень интересует вопрос о выводе кроткого анонса ноды

Андрей
03.11.2012, 23:49

Добрый вечер.
Во первых спасибо за пример, и за блог в целом!
Во вторых, возможно ли вы вместо заголовка ноды, вывести определенное поле?
Сам слабоват в пхп, навоял такое:

<?php
$nodes = db_select('node', 'n');
$nodes->join('field_data_field_city', 'city', 'n.nid = city.entity_id');
$nodes
  ->fields('city',array('field_city_value'))
  ->condition('n.type', 'order')
  ->condition('n.status', NODE_PUBLISHED)
  ->orderBy('n.created', 'DESC')
  ->range(0, 2)
  ->execute();
$titles = node_title_list($nodes);
echo drupal_render($titles);
?>

но это не работает :(

foreach ($nodes as $node) {
  echo $node->field_city_value . '<br />';
}
Гость
13.05.2013, 22:44

Здравствуйте. А как вывести определенного типа материалов?

Гость
01.09.2014, 04:43

Подскажи, как модифицировать чтобы выводились только помеченные термином (терминами) текущей ноды?

Евгений
15.06.2015, 17:03

Добрый день, огромное спасибо за ваши труды, все просто великолепно. У меня трудность есть такая, хочу в заголовке блока, созданном в views для последних записей в блоге, вывести количество записей всех блогов за сегодня.

Подскажите пожалуйста, как это можно организовать?

альтерните блок, сделайте запрос в базу, выведите в заголовке блока

Евгений
15.06.2015, 23:48

Не будете столь любезны набрасать код данной операции, или хотя бы примерно показать как это можно сделать. Не силен как Вы в этом, познаю все в процессе работы.

С уважением, Евгений

Евгений
16.06.2015, 19:24

Есть сниппет который считает количество материала для 7-ки, но есть вопрос один:

 $query = db_select('node', 'n')
          ->condition('n.type', 'article');
    $query->addExpression('COUNT(*)');
    $count = $query->execute()->fetchField();
        print 'Статей: ' . $count;

Как добавить условие проверки за промежуток времени, за 24 часа?

Добавить комментарий