Список документов определённого термина



<?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 (и к нему еще целая куча модулей) свои списки делать, но умный человек, В.Х., отговорил, и подсказал ваш сайт и конкретно сниппеты.

Попробую еще и на других сниппетах сделать эту вставку.

Всех благ вам и вашему сайту.

Post new comment

The content of this field is kept private and will not be shown publicly.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.