непонятное

Обухов Никита Вс, 09/05/2010 - 13:38

Последняя нода из каждого термина

Здравствуйте.

Не сказал бы, что задача нераспространенная. Очень даже обычная. Нужно выбрать одну последнюю ноду (в моем случае картинку, прикрепленную к ней) для каждого термина из определенного словаря.

То есть результат должен быть таким:

Терм1 - Нода49
Терм2 - Нода23
Терм3 - Нода75

На дру.ру нашел только это: http://www.drupal.ru/node/42216
но там решения нет.

Вот запрос, который делает нужное:

SELECT maxn.term,
       n2.nid,
       f.filepath,
       n2.changed
FROM   (SELECT MAX(n1.changed) AS ch,
               tn.tid          AS term
        FROM   node n1
               JOIN term_node tn
                 ON tn.nid = n1.nid
               JOIN term_data td
                 ON tn.tid = td.tid
                    AND td.vid = 2
        GROUP  BY tn.tid
        ORDER  BY n1.changed DESC) maxn
       JOIN node n2
         ON maxn.ch = n2.changed
       JOIN content_field_article_preview cck
         ON n2.nid = cck.nid
       JOIN files f
         ON cck.field_article_preview_fid = f.fid
WHERE  n2.TYPE IN ( 'report', 'article', 'post' )
       AND cck.field_article_preview_fid IS NOT NULL  

Вопрос в следующем - это можно как-то улучшить? Все-таки опыта у меня сравнительно мало, хотел бы ознакомиться с мнением знающих людей.

Спасибо.

PS> Всех с праздником :)

Ключевые слова: 
Версия Drupal: 
0 Спасибо

enjoy Втр, 17/06/2008 - 20:45

Как убрать некоторые лишние элементы со страниц. Подробности внутри.

Нужно избавиться от некоторых элементов со следующих страниц:

http://www.elgrad.info/popular
Тут нужно убрать сверху списка выбор is distinct и кнопку отправить.

и со страницы "мой блог", например, моя http://www.elgrad.info/blog/1
нужно убрать ссылки домашняя страница и Добавить запись в блог.

Надеюсь на помщь.
Спасибо.

Ключевые слова: 
0 Спасибо