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

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

Комментарии

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


.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
#93
Где то было уже решение по вырезанию цитат полностью из вывода, почитайте комментарии.
Вообще я думаю пора уже делать свой модуль для вывода комментариев.
rebunol
rebunol 26 августа 2014 04:41
#94
Доброго времени суток! Подскажите пожалуйста, что нужно сделать, что бы ссылки были не на комментарии(http://sait.ru/index.php?newsid=141), а на материал в блоке последних комментариев.
index.php редиректит, но это не совсем правильно. Нужно, что бы на материал вели прямые в моем случае.
Версия 10.2 DLE
TicTac
TicTac 30 сентября 2015 08:05
#95
Что за ошибка у меня на 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
#96
Используйте этот модуль, а ещё лучше - этот
TicTac
TicTac 30 сентября 2015 08:31
#97
Спасибо, сейчас попробую.

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

Информация

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

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