Сниппет вывода всех нод определённого термина для Drupal 7

Главные вкладки

Аватар пользователя HESHES HESHES 10 марта 2011 в 12:55

Не подскажите где можно глянуть сниппеты для Drupal 7? Для шестёрки полно, но они не подходят.

Интересует вывод нод (возможно с пейджером) определённого термина словаря. Анкор - название ноды.

Комментарии

Аватар пользователя HESHES HESHES 12 марта 2011 в 13:02

<?php
$count2show 
4// Сколько надо выводить с описанием

$taxo_id 19;  // номер термина
$list_no 11;  // количество документов в списке
$i 0//
$sql "SELECT node.title, node.nid, node.created FROM node INNER JOIN term_node ON node.nid = term_node.nid WHERE term_node.tid = $taxo_id ORDER BY node.created DESC LIMIT $list_no"// выборка из базы указанного количества нод указанной темы и сортировка их по дате создания
$result db_query($sql); // присваиваем переменной $result результат обращения к базе
// перебираем полученный результат

while ($anode db_fetch_object($result)) {
$i++;
// если $node_first равна true значит мы в начале списка полученного результата, и сейчас обрабатывается какаято по списку нода (самая свежая) и мы выводим её в виде анонса
  
if ($i<=$count2show)
  {
     
$output .= node_view(node_load(array('nid' => $anode->nid)), 1); // вывод анонса
     
$output .= ""// начинаем формировать список из оставшихся нод
  
}
// иначе (нода не какаято) продолжаем формировать список заголовков оставшихся нод 2,3,4... из полученного результата
  
else
     
$output .= "<div style=\"padding-top: 10px;\">" l($anode->title"node/$anode->nid") . " | " format_date($anode->created'custom''j.m.Y') . "</div>"// заголовок ноды + дата её создания
  
$node_first false// определив первую по списку ноду и выполнив над ней все необходимые действия мы меняем значение $node_first на false, чтобы далее по условию выводились только заголовки оставшихся в списке нод 2,3,4...
}
$output .= ""// закрываем список
$output .= "<p><b>"l("Все новости Peugeot »""taxonomy/term/$taxo_id") ."</b></p>"// добавляем ссылку на все материалы с термином $taxo_id
print $output// получаем ожидаемый результат
?>

Вот такой для шестого, а для седьмого как переправить?

Только хотелось бы без описания просто список с ссылками на все ноды.

Аватар пользователя Ch Ch 13 марта 2011 в 5:55

Ну ведь taxonomy/term/$tid и так выводит список всех записей для определённого термина. Чем он не подходит?

Аватар пользователя HESHES HESHES 13 марта 2011 в 14:36

Он выводит с анонсами и пейджером.
А если книга, то он только верхний уровень выводит, а если есть подразделы он их не выводит.

А нужен список простой.

Аватар пользователя Ch Ch 13 марта 2011 в 15:56

"OH Labs" wrote:
Интересует вывод нод (возможно с пейджером) определённого термина словаря.

Надо было сразу и писать что нужны только заголовки.

Можно удалить $content из node.tpl.php если $page == FALSE, хотя лучше сниппет переделать, чтобы все получить одним запросом.
Или views.

"OH Labs" wrote:
А если книга, то он только верхний уровень выводит, а если есть подразделы он их не выводит.

Странно, я у меня подшивка целиком выводится.

Аватар пользователя Dimaseo Dimaseo 31 марта 2011 в 0:12

Drupal 7. Без пейджера.

<?php
$tidid
=2;
           
$nids db_query("SELECT DISTINCT nid FROM {taxonomy_index} WHERE tid = :tid order by nid desc", array(
                
':tid' => $tidid,
                ));
            foreach (
$nids as $val)
                {
                    
$nid=$val->nid;
                    
$nnn node_load($nid);
                    print 
'<div class="nodelink"><a href="/'.drupal_get_path_alias('node/'.$nnn->nid) . '" title = "' $nnn->title '">' $nnn->title '</a></div>';
                }
?>