В аргументе Drupal Views, как я могу получить общее количество узлов в очереди узлов? - PullRequest
1 голос
/ 24 мая 2011

Я работаю над сайтом, который представляет собой базу данных с тысячами альбомов и пытаюсь создать блок "Альбом дня".Мое решение состояло в том, чтобы создать очередь узлов из определенных записей, создать представление, которое передает текущий день года в качестве аргумента, а затем использует это значение для вызова элемента очереди узлов с той же нумерованной позицией.Я делаю это, предоставляя «Аргумент по умолчанию» в виде PHP-кода в параметре «Nodequeue: Position».Вот код, который я использую:

$nodequeueTotalNodes = 120;
$dayOfTheYear = date("z");
$nodeQueuePosition = $dayOfTheYear % $nodequeueTotalNodes;
return $nodeQueuePosition;

Приведенный выше код работает на мое удовлетворение, но моя проблема в том, что мне приходится вручную изменять значение $ nodequeueTotalNodes каждый раз, когда я добавляю или удаляю элемент из моей очереди узлов.

Есть ли способ извлечь общее число узлов из моей очереди, чтобы заменить "120" в моем коде выше?

1 Ответ

1 голос
/ 25 мая 2011

Таблица nodequeue_nodes содержит все узлы в ваших очередях.Нечто подобное должно сработать, где qid - это идентификатор очереди:

$nodequeueTotalNodes = db_result(db_query('SELECT COUNT(nid) FROM {nodequeue_nodes} WHERE qid = %d', $qid));

Если вы используете вложенную очередь, есть столбец с именем sqid, который вы можете использовать.

...