ПафНутиЙ-Блог » Модули » Модуль iComm (Последние комментарии) jQuery Edition

Модуль iComm (Последние комментарии) jQuery Edition

1.08


Представляю вашему вниманию модифицированный вариант модуля iComm от . Модуль довольно сильно переработан, уменьшен почти в 10 раз его вес, исправлены некоторые недочёты и немного дополнен функционал.

Чтобы не заставлять вас много читать - смотрите как оно работает.

Что нового?



1. Весь модуль сокращён до двух файлов (1 - php и 1 - tpl), тем самым вес уменьшен с 50кб до 5.
2. Убраны ненужные js-скрипты, окошко с комментарием переведено на jQuery.
3. Доработаны небольшие косяки в модуле, убраны ссылки.
4. Добавлен вывод необрезанного заголовка (в качестве title лучше использовать его, чем обрезанный), вывод количества комментариев к новости.
5. Улучшена работа с кешем - теперь не нужно ничего подключать дополнительно, кеш чистится сам, стандартными средствами DLE.
6. Дальше не помню, т.к. не собирался публиковать модуль и не записывал изменения.


Установка



1. Скопировать файл icomm.php в папку /engine/modules/
2. Скопировать файл lastcomm.tpl в папку с текущим шаблоном.
3. Открыть main.tpl и в нужное место вставить строку:
{include file="engine/modules/icomm.php"}

4. Открыть любой .js файл (в дефолтном шаблоне это /js/libs.js) и вставить в начало следующее:
$(function () {
    $(".lcomment:odd").addClass("even");
    $(".lcomment").hover(function(){ $(this).addClass("hover");},function(){$(this).removeClass("hover");});
    $('.lcomment').click(function(){window.location=$(this).find("a").attr("href"); return false;});
    });


5. Открыть любой, удобный вам файл .css (обычно это styles.css) и вставить туда вот это:
Всё что помечено как: /* -- */ не критичные стили, их нужно менять под свой вкус и цвет.

.lastcomm li {
    position: relative;
    cursor: pointer;
    }
    .lcommbox {
        position: absolute;
        z-index: 3;
        right: 99999px;
        top: 0px;
        padding:10px; /* -- */
        margin-right: 15px; /* -- */
        border: 1px solid #c7c7c7; /* -- */
        background: #fff; /* -- */
        font-size: 12px; /* -- */
        }
        .lcomment.hover .lcommbox {left: 100%;} /* если нужно, чтобы комментарий показывался слева - заменить на right: 100%; */
        .lcomment {
            padding: 5px; /* -- */
            background: #fff; /* -- */
            }
            .lcomment a {text-decoration: none;} /* -- */
            .lcomment.even {
                background: #fafafa; /* -- */
                }
            .lcomment.hover {
                background: #fff; /* -- */
                padding: 4px; /* -- */
                border: solid 1px #bddb5c; /* -- */
                border-radius: 4px;  /* -- */
                -moz-border-radius: 4px; /* -- */
                -webkit-border-radius: 4px; /* -- */
                }
                .lcomment.hover a, .lcomment.hover a:hover {
                    color: #3d3d3d; /* -- */
                    }
            .lcomment span {
                color: #b3b7ba; /* -- */
                }
        .lcom_info {
            margin: -9px -9px 10px -9px; /* -- */
            padding: 10px; /* -- */
            background: #fafafa; /* -- */
            color: #73a331; /* -- */
            }


6. Всё! Наслаждаемся результатом.

Как всегда жду замечаний/предложений.

Комментарии

OKyJIucT
OKyJIucT 27 июля 2012 22:41
#61
вопрос снимается) нашел в стилях ответ)
Yamakasi
Yamakasi 29 июля 2012 20:01
#62
да по скорее бы новый модуль, так как данный не работает на 9,6 линейке (((
Пробовал убрать, что писали в коментах, не помогло (((
Так ждём, ждём...
Заранее спасибо!
Yamakasi
Yamakasi 9 августа 2012 08:38
#63
Уважаемый ПафНутиЙ, когда будет обнова? Мы все Вас ждём ))) bully
ПафНутиЙ
ПафНутиЙ 9 августа 2012 09:35
#64
Как говорится: "Как только, так сразу". Всё упирается в нехватку времени.
IMP
IMP 15 сентября 2012 10:03
#65
How we can show authors avatar? request
ПафНутиЙ
ПафНутиЙ 15 сентября 2012 22:50
#66
you need
ALTERNATE
ALTERNATE 28 ноября 2012 11:00
#67
После установки на DLE 9.6 выдает ошибку:
$db->query( "SELECT c.post_id, c.is_register, c.text, c.autor, c.email, p.id, p.date as newsdate, p.title, p.category, p.comm_num, p.alt_name, p.flag FROM " . PREFIX . "_comments as c, " . PREFIX . "_post as p WHERE p.id=c.post_id AND c.approve=1 AND p.category IN (1,2,3) ORDER BY c.date DESC LIMIT 0, " . $max_comm );
ПафНутиЙ
ПафНутиЙ 28 ноября 2012 11:13
#68
модуль не работает с новыми версиями dle,
Если найду время - выложу новую версию.
Arsen
Arsen 13 января 2013 04:35
#69
А точку убрать можно, перед коментариями
Arsen
Arsen 13 января 2013 05:25
#70
Не выводит комментарии все пусто
ПафНутиЙ
ПафНутиЙ 13 января 2013 11:23
#71
Цитата: Arsen
А точку убрать можно, перед коментариями

Цитата: Arsen
Не выводит комментарии все пусто

Не понял о чём идёт речь.
Yamakasi
Yamakasi 29 января 2013 07:38
#72
ПафНутиЙ,
модуль обновили на 9.7 линейку или нет?
ждал, ждал, ну и нет обновы, а тут наткнулся на статью _http://prowebber.ru/dle/moduls/14355-modul-icomm-poslednie-kommentarii-jquery-edition.html и Вы там дали ответ, то что уже обновили, но где? Так обнова уже есть, можно качать и ставить или как? нефига не понял )))
ПафНутиЙ
ПафНутиЙ 29 января 2013 09:32
#73
Я обновиле го почти сразу после выхода 9.7, но времени выложить нет. В выходные будет вам обновка, так уж и быть, найду время, не красиво заставлять страдать людей smile
salam
salam 29 января 2013 12:10
#74
Цитата: ПафНутиЙ
Я обновиле го почти сразу после выхода 9.7, но времени выложить нет. В выходные будет вам обновка, так уж и быть, найду время, не красиво заставлять страдать людей

Паша, ждем с нетерпением. Ты в ответе за тех кого подсадил на этот модуль =))))
JackBlack
JackBlack 30 января 2013 18:38
#75
Здравствуйте.

Блок с комментарием всплываем почему-то под другим блоком (видна маленькая грань окна). Движок: DLE: 9.6

Подскажите пожалуйста, как решить проблему ?
Адрес сайта отправил в ЛС.

Заранее спасибо.
ПафНутиЙ
ПафНутиЙ 30 января 2013 23:24
#76
style.css строка 803, должно быть так:
.lastcomm li {
    position: relative;
    cursor: pointer;
    margin: 0;
    list-style: none;
}
Toxan76
Toxan76 31 января 2013 23:45
#77
Подскажите пожалуйста
Прописал всё, в js добавил, в main js подключён
Но всплывающие окно при наведении не появляется
(dle 9.7)
ПафНутиЙ
ПафНутиЙ 1 февраля 2013 09:16
#78
Проверьте нет ли у родительского элемента overflow: hidden;
ну и адрес сайта не плохо было бы увидеть
Toxan76
Toxan76 1 февраля 2013 11:23
#79
Да, конечно
trainzona.ru
ПафНутиЙ
ПафНутиЙ 3 февраля 2013 21:42
#80
Цитата: Toxan76
trainzona.ru

файл blocks.css
.blocklefttype3 .dcont {
	width: 179px;
	padding-bottom: 36px;
	margin-left: 30px;
	margin-right: 26px;
	padding-top: 44px;
	overflow: hidden; /*вот это надо убрать*/
}

из-за overflow: hidden все проблемы.

В эти выходные версии под 9.7-9.8 не будет, т.к. я занимался модулем blockpro, релиз которого уже состоялся, можете попробовать его в деле.
Toxan76
Toxan76 4 февраля 2013 20:03
#81
ПафНутиЙ,

Спасибо за помощь)
С удовольствием попробую новую версию
salam
salam 7 февраля 2013 10:23
#82
ПафНутиЙ,
Паша, ну когда же будет модуль под 9.7 -9.8 ???
DaImeR
DaImeR 11 февраля 2013 16:57
#83
salam,
Модуль отлично работает под 9.7-9.8
salam
salam 14 февраля 2013 15:33
#84
DaImeR,
Ни фига не работает.
MySQL error in file: /engine/modules/icomm.php at line 29
Error Number: 1054
The Error returned was:
Unknown column 'p.flag' in 'field list'
SQL query:

SELECT c.post_id, c.is_register, c.text, c.autor, c.email, p.id, p.date as newsdate, p.title, p.category, p.comm_num, p.alt_name, p.flag FROM dle_comments as c, dle_post as p WHERE p.id=c.post_id AND c.approve=1 ORDER BY c.date DESC LIMIT 0, 10

Так что не вводите людей в заблуждение.

Как я понимаю проблема в этом запросе:
$db->query( "SELECT c.post_id, c.is_register, c.text, c.autor, c.email, p.id, p.date as newsdate, p.title, p.category, p.comm_num, p.alt_name, p.flag FROM " . PREFIX . "_comments as c, " . PREFIX . "_post as p WHERE p.id=c.post_id AND c.approve=1 ORDER BY c.date DESC LIMIT 0, " . $max_comm );

Методом НЕнаучного тыка поробовал заменить запрос на тот что в модуле от RooTM.
$db->query( "SELECT c.id as comid, c.post_id, c.date, c.user_id, c.is_register, c.text, c.autor, c.email, c.approve,
            p.id, p.date as newsdate, p.title, p.category, p.comm_num, p.alt_name {$flag},
            u.foto, u.user_group, u.user_id
            FROM " . PREFIX . "_comments as c, " . PREFIX . "_post as p, " . PREFIX . "_users as u
            WHERE p.id=c.post_id AND c.user_id = u.user_id AND c.approve = 1 {$stop_category} {$from_category}
            ORDER BY c.date DESC LIMIT 0, " . $max_comm );


Ошибка исчезла , вывод каментов получился, НО при переходе по ссылке в новость - ошибка 404.
Народ кто силен в запросах, может скурим эту тему если Пафнутию не когда?

PS Я просто нихрена в этом не понимаю =(
Toxan76
Toxan76 15 февраля 2013 22:06
#85
Добрый вечер!
Подскажите, менял параметр показания комментария с право на лево, но комент так и показывается справа (пробывал чистить кеш, менять на другой параметр, оверлоу убран) всё ровно показывается справа (сайт trainzona.ru)
Спасибо за внимание
ПафНутиЙ
ПафНутиЙ 15 февраля 2013 23:58
#86
http://pafnuty.name/modules/138-icomm-for-dle-9-8.html
Altair
Altair 30 октября 2013 18:05
#87
salam, ссылка выводится с не правильным ЧПУ.

Сам профан, но копать туда.
skynet32rus
skynet32rus 8 августа 2014 10:45
#88
круто!
skynet32rus
skynet32rus 8 августа 2014 10:58
#89
есть проблема, когда все сделал мне выдало ошибку mysql со ссылкой на строку 29 файла icomm.php, а той строке есть запись p.flag и изза нее была ошибка, я ее удалил я все норм вроде
ПафНутиЙ
ПафНутиЙ 8 августа 2014 11:02
#90
Просто не используйте null и жизнь станет проще :)

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

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Комментировать могут только зарегистрированные пользователи