<?php
$taxo_id = 5; // номер термина
$list_no =10; // количество документов в списке
$sql = "SELECT node.title, node.nid FROM node INNER JOIN term_node ON node.nid = term_node.nid WHERE term_node.tid = $taxo_id LIMIT $list_no";
$output .= "<ul>";
$result = db_query($sql);
while ($anode = db_fetch_object($result)) {
$output .= "<li>".l($anode->title, "node/$anode->nid")."</li>";
}
$output .= "</ul>";
print $output;
?>
Comments
Дайте мне сниппет и я переверну землю! Сниппеты буквально вдохнули в меня жизнь. Самые главные свои проблемы в Друпале с ними решил. Осталось кое-какие мелочи доработать.
В данном сниппете документы выводятся в разнобой. Как сделать, чтобы они выводились по алфавиту? Очень нужно. Да и правильнее это будет.
Ну что-же вы молчите? Ответьте кто-нибудь пожалйста.
На этой странице посмотри разницу в запросах: http://setegnom.com/node/330. Ищи по запросу ORDER BY. Разберёшься, расскажи что получилось.
Ну и задачку вы мне задали. Это все равно, что секретаршу попросить внести изменение в код.
Насколько я понял, надо добавить следующее: ORDER BY u.name ASC.
Честно пытался разобраться. Вставлял в самые разные места сниппета. Или ничего не изменялось, или - ошибка обращения к базе (или ошибка запроса к базе).
Не получается. Помогите пожалуйста.
Сетевой гном, отзовись. Выложили такие замечательные "вещи", как сниппеты, на радость людям, спасибо вам за это. Прошу маленькую поддержку. Я не програмист, PHP не знаю, как сделать, чтобы списки выводились по алфавиту? В приведенном выше примере, слишком большие различия с данныым сниппетом. Не могу сориентироваться. А для вас, как я понял, это пустяк. А это может понадобиться и в других сниппетах, и не только мне одному. Может научите, пожалуйста?
Сетевой гном, ау. Вы хоть иногда заглядывайте на ваш сайт.
Может, вы сделаете отдельную статью: "Список документов определённого термина, с сортировкой по алфавиту". Думаю она будет востребована.
ORDER BY node.title ASC — таблица node, колонка title, упорядочивание А-Я.
<?php$taxo_id = 5; // номер термина
$list_no =10; // количество документов в списке
$sql = "SELECT node.title, node.nid FROM node INNER JOIN term_node ON node.nid = term_node.nid WHERE term_node.tid = $taxo_id ORDER BY node.title ASC LIMIT $list_no";
$output .= "<ul>";
$result = db_query($sql);
while ($anode = db_fetch_object($result)) {
$output .= "<li>".l($anode->title, "node/$anode->nid")."</li>";
}
$output .= "</ul>";
print $output;
?>
setegnom, большое спасибо! Уже проверил, работает.
А то я и на форуме drupal.ru задал вопрос, так никто и не ответил. А для меня это костяк моего сайта, на котором все строится. Я сначала собирался на модуле Views (и к нему еще целая куча модулей) свои списки делать, но умный человек, В.Х., отговорил, и подсказал ваш сайт и конкретно сниппеты.
Попробую еще и на других сниппетах сделать эту вставку.
Всех благ вам и вашему сайту.
Ostdesign.com — блог: Drupal: список документов определенного термина.
Post new comment