<?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; // получаем ожидаемый результат ?>
Вот такой для шестого, а для седьмого как переправить?
Только хотелось бы без описания просто список с ссылками на все ноды.
Ну это вообще не друпал way <?phpprint '<div class="nodelink"><a href="/'.drupal_get_path_alias('node/'.$nnn->nid) . '" title = "' . $nnn->title . '">' . $nnn->title . '</a></div>';?>
Комментарии
taxonomy/term/$tid ?
Да.
<?php
$taxo_id = 19; // номер термина$count2show = 4; // Сколько надо выводить с описанием
$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; // получаем ожидаемый результат
?>
Вот такой для шестого, а для седьмого как переправить?
Только хотелось бы без описания просто список с ссылками на все ноды.
Проще темизировать под свои потребности страницу taxonomy/term/$tid
Каким образом? если нужен список всех записей на одной странице
Ну ведь taxonomy/term/$tid и так выводит список всех записей для определённого термина. Чем он не подходит?
Он выводит с анонсами и пейджером.
А если книга, то он только верхний уровень выводит, а если есть подразделы он их не выводит.
А нужен список простой.
Надо было сразу и писать что нужны только заголовки.
Можно удалить $content из node.tpl.php если $page == FALSE, хотя лучше сниппет переделать, чтобы все получить одним запросом.
Или views.
Странно, я у меня подшивка целиком выводится.
никто не выводил так?
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>';
}
?>
Ну это вообще не друпал way
<?phpprint '<div class="nodelink"><a href="/'.drupal_get_path_alias('node/'.$nnn->nid) . '" title = "' . $nnn->title . '">' . $nnn->title . '</a></div>';?>
смотрите api http://api.drupal.org/api/drupal/includes--common.inc/function/l