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

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

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


Представляю вашему вниманию модифицированный вариант модуля iComm от RooTM. Модуль довольно сильно переработан, уменьшен почти в 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. Всё! Наслаждаемся результатом.

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

Похожие материалы

Комментарии

skynet32rus
skynet32rus 8 августа 2014 12:02
это не возможно, я студент так что денег у меня не много, а еще этот модуль иногда отправляет не на страницу с комментарием а просто на ссылку на новость, без названия сайта
skynet32rus
skynet32rus 8 августа 2014 14:19
я его немного модифицировал
icommicomm


.lastcomm li {
    position: relative;
    cursor: pointer;
    list-style-type: none;
}
.lcommbox {
    position: absolute;
    z-index: 3;
    top: -30px;
    padding: 10px;
    margin-right: 15px;
    background: #000000;
    right: -99999px;
    font-size: 12px;
    opacity: 0;  

    -webkit-transition: opacity 400ms ease-out;  
    -moz-transition: opacity 400ms ease-out;  
    -o-transition: opacity 400ms ease-out;
}
.lcomment:hover .lcommbox {
    right: 100%;
          
    opacity: 0.9;
} /* если нужно, чтобы комментарий показывался слева - заменить на right: 100%;
*/

.lcomment {
    padding: 10px;
    background: #fff;
}
.lcomment a {
    text-decoration: none;
} 

.lcomment.hover {
    background: #F3F3F3;
    padding: 10px;
    -webkit-transition: all 0.3s ease;  
    -moz-transition: all 0.3s ease;  -o-transition: all 0.3s ease;
}
.lcomment.hover a, .lcomment.hover a:hover {
    color: #3d3d3d;
}
.lcomment span {
    color: #b3b7ba;
}
.lcom_info {
    margin: -10px -10px 10px -10px;
    padding: 10px;
    background: #313131;
    color: #FFFFFF;
    font-size: 14px;
}

.arrow-right {
	width: 0; 
	height: 0; 
	border-top: 15px solid transparent;
	
	border-left: 15px solid #313131;
	position: absolute;
	margin: 38px -15px 0px 0px;
	right: 0;
	top: 0;
}


для стрелки добавить вот это под {text}

<div class="arrow-right"></div>
ПафНутиЙ
ПафНутиЙ 8 августа 2014 15:38
Где то было уже решение по вырезанию цитат полностью из вывода, почитайте комментарии.
Вообще я думаю пора уже делать свой модуль для вывода комментариев.
rebunol
rebunol 26 августа 2014 04:41
Доброго времени суток! Подскажите пожалуйста, что нужно сделать, что бы ссылки были не на комментарии(http://sait.ru/index.php?newsid=141), а на материал в блоке последних комментариев.
index.php редиректит, но это не совсем правильно. Нужно, что бы на материал вели прямые в моем случае.
Версия 10.2 DLE
TicTac
TicTac 30 сентября 2015 08:05
Что за ошибка у меня на DLE 10.2?
Strict Standards: Only variables should be passed by reference in C:ServerOpenServerdomainssite.ruenginemodulesiCommshow.php on line 103 Strict Standards: Only variables should be passed by reference in C:ServerOpenServerdomainssite.ruenginemodulesiCommshow.php on line 103
ПафНутиЙ
ПафНутиЙ 30 сентября 2015 08:29
Используйте этот модуль, а ещё лучше - этот
TicTac
TicTac 30 сентября 2015 08:31
Спасибо, сейчас попробую.
Awwa
Awwa 12 марта 2019 03:46
Не пошло Выдаёт:
MySQL Error!
MySQL error in file: \engine\modules\icomm.php at line 29
Как быть?
ПафНутиЙ
ПафНутиЙ 17 марта 2019 13:23
Цитата: Awwa
Не пошло Выдаёт:
MySQL Error!
MySQL error in file: \engine\modules\icomm.php at line 29
Как быть?

удалить модули и использовать встроенные возможности DLE

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

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

Информация

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