ПафНутиЙ-Блог » Модули » Модуль 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. Всё! Наслаждаемся результатом.

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

Комментарии

Ler
Ler 18 сентября 2011 14:38
#31
А аватарку можно как нибудь прикрепит?

Спасибо за модуль! smile
ПафНутиЙ
ПафНутиЙ 18 сентября 2011 15:03
#32
RooTM новую версию модуля, можете посмотреть как там выводится аватарка ,возможно скоро я адаптирую его новую версию по аналогии с этой.
li4nost
li4nost 21 сентября 2011 11:39
#33
ПафНутиЙ,
а почему в вашем модуле в цсс прописано
right: 99999px;
из-за этого ведь появляется горизонтальная прокрутка. или я что-то не понял?
ПафНутиЙ
ПафНутиЙ 21 сентября 2011 12:07
#34
можете поменять на своё значение, это не принципиально. А прокрутка не появится если у "обёртки" шаблона есть overflow: hidden; а это как правило есть)
Я сознательно не прописывал display:none; т.к. ПС такие конструкции не очень любят.
li4nost
li4nost 21 сентября 2011 12:43
#35
эээ)))) раз появилась прокрутка, значит нету. куда прописать этот параметр?
у меня немного подпиленный шаблон Pisces из комплекта dle
DeL Esprit
DeL Esprit 1 октября 2011 20:50
#36
А есть решение для отображения комментов гостями?
кроме того где группу создать - там получается всех гостей "переименовывает"
LOMANI
LOMANI 29 ноября 2011 13:25
#37
Цитата: LOMANI
Не работает определение страницы комментария...
т.е. если комментарий находится на 2й или 3й странице то ссылка на тему в данном модуле будет неправильной.
mtzone.ru

Ошибку исправили ?
yarik-1996
yarik-1996 7 декабря 2011 17:38
#38
Как сделать в табах а то у меня всё пропадает!!!
ПафНутиЙ
ПафНутиЙ 7 декабря 2011 18:20
#39
Берём табы, аккуратно кладём туда код вызова модуля, настраиваем стили.
Главное аккуратно положить код вызова, и потом завернуть в фольгу и убрать в холодильник, чтоб не пропадало.
yarik-1996
yarik-1996 7 декабря 2011 18:48
#40
:D Да приколист конешно,у меня вся js конфликтует японел но исправить немогу только табы подключаю вся js неработает
Вот код
var $m = jQuery.noConflict();
$щ(document).ready(function () {
$m('div.tabbed div.tab-content').hide();
$m('div.t1').show();
$m('div.tabbed div.post').show();
$m('div.tabbed div.entry').show();
$m('div.tabbed div.c').hide();
$m('div.tabbed div.c1').show();
$m('div.tabbed ul.tabs li.t1 a').addClass('tab-current');
$m('div.tabbed ul.tabs li.c1 a').addClass('tab-current');
$m('div.tabbed ul li a').css('cursor', 'pointer');
$m('.tabs-block div.tabbed ul.tabs li a').hover(function () {
var a = this.className.slice(0, 2);
$m('.tabs-block div.tabbed div').hide();
$m('.tabs-block div.' + a).show();
$m('.tabs-block div.tabbed ul.tabs li a').removeClass('tab-current');
$m(this).addClass('tab-current')
},
function () {});
$m('#post-tabs div.tabbed ul.tabs li a').hover(function () {
var a = this.className.slice(0, 2);
$m('#post-tabs div.tabbed div.c').hide();
$m('#post-tabs div.' + a).show();
$m('#post-tabs div.tabbed ul.tabs li a').removeClass('tab-current');
$m(this).addClass('tab-current')
},
function () {});
$m('#post-block-tabs div.tabbed ul.tabs li a').hover(function () {
var a = this.className.slice(0, 2);
$m('#post-block-tabs div.tabbed div.c').hide();
$m('#post-block-tabs div.' + a).show();
$m('#post-block-tabs div.tabbed ul.tabs li a').removeClass('tab-current');
$m(this).addClass('tab-current')
},
function () {});
$m('#post-list-tabs div.tabbed ul.tabs li a').hover(function () {
var a = this.className.slice(0, 2);
$m('#post-list-tabs div.tabbed div.c').hide();
$m('#post-list-tabs div.' + a).show();
$m('#post-list-tabs div.tabbed ul.tabs li a').removeClass('tab-current');
$m(this).addClass('tab-current')
},
function () {})
});]
ПафНутиЙ
ПафНутиЙ 7 декабря 2011 18:58
#41
ППЦ! Вы где такой код то взяли? ППЦ!
особенно порадовала вторая строка кода)))))
yarik-1996
yarik-1996 7 декабря 2011 19:08
#42
Спасибо незаметил а я думаю чё за х*йня
maks1192
maks1192 27 декабря 2011 04:44
#43
Уважаемый ПафНутиЙ, скажите пожалуйста, вопрос 1 - Данный модуль http://xsonz.ru/ подойдёт для будущей версии 9.5? вопрос 2 - вы делаете модули на заказ индивидуально?
ПафНутиЙ
ПафНутиЙ 27 декабря 2011 07:55
#44
1. Да. пойдёт и на 9.8 )))
2. Нет, не делаю, ни модули, ни шаблоны. (надоел мне ДЛЕ с его контингентом неадекватным на 80%)
murlin
murlin 2 января 2012 15:02
#45
привет
небольшой косяк с обрезанием текста $max_text
если "хвост" приходится на брейк (<бr /> - написал так, иначе парсер обрезает), то в выводимом коде получаем: "текст коммента <бr / ..."
и дизайн на дивах плывет капитально :(
случай довольно редкий, чтобы обрезание попало именно так, но у меня уже пару раз такое выползало
движок 8.3
murlin
murlin 2 января 2012 15:53
#46
не самый большой спец в пхп...
но мож $tеxt через stripTаgs прогнать? или прибивать брейки в prеg_replace?
murlin
murlin 2 января 2012 16:03
#47
угу, немного поправил код...
воткнул $tеxt = strip_tаgs($rоw['tеxt']); - нормально всё зафурычило - сколько брейков ни втыкай - обрезаются и диз не плывёт

пс. сам с собой поговорил :)
но мож кому-то пригодится...
ПафНутиЙ
ПафНутиЙ 2 января 2012 20:12
#48
Автор модуля уже давно выпустил следующую версию, думаю там этого косяка нет.
xoxa99
xoxa99 17 февраля 2012 20:24
#49
хаха) при редактировании коммента, в блоке не меняется инфо
P.Chebotarev
P.Chebotarev 27 февраля 2012 12:04
#50
А как же выводить вместе с названием и картинку из краткой комментируемой новости?
Вот так
<img src="{image-1}" />

не работает.
Toonik
Toonik 14 мая 2012 22:26
#51
в 9.6 не работает.
говорит:
MySQL Error! 
------------------------

The Error returned was: 
Unknown column 'p.flag' in 'field list' 

Error Number: 
1054 

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

recourse
ПафНутиЙ
ПафНутиЙ 15 мая 2012 07:16
#52
Всё правильно) в 9.6 другая структура таблиц.
Но различия не только в этом, нужно ещё поправлять и вывод ссылок на категории и ещё чтото, не помню точно что.
В общем будет время, допилю и опубликую последнюю версию модуля (iComm v6), она как раз сейчас на сайте и стоит)
Paradox
Paradox 16 мая 2012 17:00
#53
вырезать запрос p.flag из файла icomm.php
и 34 строка
$row['flag'] and 

модуль рабочий, линки на новость верные.
ПафНутиЙ
ПафНутиЙ 16 мая 2012 22:10
#54
Вырезать то вырезать, а старые версии dle перестанут работать)
6aJIy
6aJIy 29 мая 2012 18:33
#55
Здраствуйте, установил данный модуль. Модуль работает, проблема в том что всплывающее окно коментария уходит за окно контента. Что и где нужно исправить? Сайт - www.isoup.ru

Все, вопрос снимается, сам пошаманил, все норм)
Yamakasi
Yamakasi 17 июля 2012 19:48
#56
Уважаемый, модуль обновили для скачки как у Вас на сайте? если планируется, то когда, и желательно учесть старые линейки дле, например на 9,3-9,4 просто у Вас вижу он по красивее стал, а также как вижу бага нет, с большим коментом, а в старом который я использую есть пару косяков!
Спасибо, будем ждать, если конечно будет...
ПафНутиЙ
ПафНутиЙ 17 июля 2012 20:07
#57
Да. Тут стоит 6 версия. Как нибудь выложу, когда время будет.
Cornsi
Cornsi 19 июля 2012 21:02
#58
поставил все как Вы сказали, прокрутка исчезла... Но когда захожу на сайт с телефона, то снова появляется лифт на значение right:9999px. Что можно сделать в этом случае?
ПафНутиЙ
ПафНутиЙ 19 июля 2012 21:36
#59
Cornsi,
мобильный шаблон - это отдельная тема. лучше изменить поведение всплывалки для маленьких экранов, используя media queries (гугл много знает по этой теме, она очень обширная)
OKyJIucT
OKyJIucT 27 июля 2012 22:40
#60
А как сделать, чтобы комментарий влево выезжал, а не вправо? Я его установил в правом сайдбаре, и неудобно выходит:) Спасибо

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

Информация

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

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