Есть сниппет (автор Dalay – drupalka.ru).
<?php
if (arg(0) == 'node' && is_numeric(arg(1)) && is_null(arg(2))) {
$num_nodes = 10;
$voc_id = ID_нужного_словаря;
$nid = (int)arg(1);
$node = new stdClass;
$node->vid = $nid;
$terms = taxonomy_node_get_terms_by_vocabulary($node, $voc_id);
$status = 1;
foreach ($terms as $term) {
$sql = "SELECT DISTINCT n.title, n.nid
FROM {node} n
INNER JOIN {term_node} tn
ON n.nid = tn.nid
WHERE n.status = %d
AND tn.tid = %d
AND n.type <> '%s'
AND n.nid <> %d
ORDER BY n.created
DESC";
$result = db_query_range(db_rewrite_sql($sql), $status, $term->tid, $node->type, $nid, 0, $num_nodes);
$items = array();
while ($node = db_fetch_object($result)) {
$items[] = l($node->title, 'node/'. $node->nid, array('attributes' => array('title' => $node->title)));
}
$output = theme('item_list', $items);
}
return !empty($output) ? $output : '';
}
?>
С помощью этого сниппета происходит выборка заголовков нод, содержащих те же термины, что и открытая нода. Причем словарь и термины в нем являются общими для двух разных типов нод. Открывая ноду первого типа, происходит вывод заголовков ноды второго типа, и наоборот. Проще, когда создается резюме, пользователь увидит подходящие вакансии (и наоборот).
Необходимо вывести не заголовки нод, а их тизеры ($teaser), причем все с полноценным пейджером внизу. Все это будет размещаться в блоке.
Сам тизер определяется в шаблоне этих двух нод, где структура такова:
<?php
...
<?php if($teaser): ?>
Код тизера...
<?php else: ?>
Код body...
<?php endif; ?>
...
?>
Как модифицировать вышеуказанный код с учетом этих пожеланий? Спасибо.