Последние комментарии/активные темы для Drupal

Невероятно но факт, в одной из лидирующих на рынке cms нет стандартного или общепринятого модуля последних комментариев, поэтому каждый выкручивается как может. Я выкрутился следующим образом: нашёл в инете пару сниппетов по теме и доработал напильником под свои нужды. Получилось нечто среднее между последними комментариями и горячими темами: выводится n горячих материалов с текстом последнего комментария, датой и именем автора.

Результат выглядит так:

Заголовок материала в виде ссылки (кол-во камментов)
Текст каммента обрезанный на 60 символе с убранными тэ…
2011-01-23 17:43
от: Ник автора оформленный в ссылку

Файл с кодом.

Для использования создать блок и вставить туда код. Если не работает — значит не включен PHP code в форматах ввода.

P.S. Постить на оф.сайт не буду в виду его фееричной угрёбищности и неюзабельности. Придумать систему хуже пожалуй невозможно.

Последние комментарии/активные темы для Drupal: 8 комментариев

  • 07.10.2011 в 18:35
    Permalink

    Как убрать то, что отображается после поля ввода комментария? (разъяснения о стилях и т.п.)

  • 04.11.2011 в 11:48
    Permalink

    Как раз то, что давно искал. Теперь поставлю последние комментарии у себя

  • 19.09.2012 в 12:35
    Permalink

    у меня не отображается пишет ошибки, хотя пробовал схожий сниппет который Вы доработали, сделал так что у меня выводит коментарии определённой ноды, но только один последний, а хотелось чтобы несколько последних, как это осуществить? Спасибо за ранее Ваш сниппет почему то не выводит данные пишет ошибку у меня Drupal 6 версии 0 AND n.nid=nc.nid
    INNER JOIN (SELECT max(c.cid) as cid ,c.nid,count(c.cid) as cnt FROM {comments} c GROUP by c.nid ) cm
    ON cm.nid=n.nid
    INNER JOIN {comments} cc ON cc.cid=cm.cid
    INNER JOIN {users} u ON u.uid=cc.uid
    ORDER BY nc.last_comment_timestamp DESC»),0, $number);
    $items=array();
    while($comment=db_fetch_object($result)){
    $items[] = ‘‘.theme(‘username’,user_load($comment->uid)).
    ‘:
    ‘. l($comment->title.’ (‘.$comment->cnt.’)’, ‘node/’.
    $comment->nid, array(‘fragment’ => ‘comment-‘. $comment->cid)) . «: » . substr($comment->comment, 0, 555);
    }
    if(count($items)){
    print theme(‘item_list’,$items);
    }
    ?>
    За ранее спасибо!!!

  • Phantom
    19.09.2012 в 17:50
    Permalink

    Вордпресс любит переформатировать кавычки по своему исходя из типографских соображений.

    Закинул отдельным файлом — причём там чуть другая версия, скопировано с проекта в продакшне, должно работать.

    Что касается вывода нескольких… навскидку точно не скажу, надо сидеть и вспоминать что там куда.

  • 19.09.2012 в 23:37
    Permalink

    Пистец… это аффтары Друпала именуют так таблички и поля в них?

  • 20.09.2012 в 10:28
    Permalink

    подскажите чтобы этот сниппет выводил коменты не 1 последний а несколько последних конкретной ноды по её номеру. Плиизз буду благодарен!!!

  • Phantom
    20.09.2012 в 22:22
    Permalink

    Dmitruy, я сожалею, но помочь не могу. Это делалось когда было очень нужно, под проект, который я вынужденно делал на друпале. Рекомендую обратиться на профильные ресурсы, там народ за небольшую денюжку напишет что треба, может даже доработает конкретно этот костыль. Я заново разбираться просто не хочу даже за деньги, мне дешевле будет нанять программера по профилю. Могу только порекомендовать почитать описание полей к бд, ну и засунуть в цикл ещё один цикл, где от массивов отнимать единичку…

    Serge Renard, это вообще очень своеобразный движок, он по сути своей не cms, а cmf. Чем-то схож по идеологии с линукс-вэй, но только в терминальной степени ебанутости. Честно говоря его использование оправдано в очень узком круге задач, которые в основном сводятся к навороченному узкоспециализированному порталу интегрированному с пхпбб, который в свою очередь не менее ебанутый по структуре, хоть и в другую сторону. Про стоимость обслуживания этой связки даже думать жлобно и горько.

    В принципе, если уж хочется кучерявой цмф, то тогда лучше глянуть в сторону modx, что уже сделали многие. Если извращения не требуются, то джумла, в крайнем случае джумла+к2, чтобы всю эту тряхомудию с полями разруливать.

Добавить комментарий