чтение rss ленты

Nulls.su

Здесь обезаельно что то появиться 8)

Сообщение об отсутствии комментариев на jQuery для DLE

Сообщение об отсутствии комментариев на jQuery для DLE


Сегодня представлю небольшой скриптик, для того, чтобы сообщать юзерам об отсутствии комментариев к новости, но так как я не сторонник вмешиваться из-за таких мелочей в двиг, сделаем это на jQuery.

В сети есть хаки, которые выводят сообщение "нет комментариев" если их нет, но это ХАКИ! Что будет с ним, когда вы решите обновить DLE до актуальной версии? А если ещё и забыли как ставили...... в общем очередная головная боль.

Всем известно, что в DLE девятой линейки уже встроена библиотека jquery? так почему бы не воспользоваться её возможностями, а не возможностями php?
Итак:
Началось всё с того, что на сайте, в силу специфика вёрстки блок с комментариями, при их отсутствии оставался пустым и выглядело это не очень призентабельно. Поэтому и был найден несложный способ "заполнить" эту пустоту.
Кстати рецензии на фильмы 2011 ещё никто не отменял.

Для начала очмечу, что вывод комментариев осуществляется через тег
{commеnts}
в fullstory.tpl.

Теперь перейдём к разбору кода.

Для начала обернём тег
{commеnts}
в div с идентификатором fornocomments (вы можете использовать любой id, какой душе угодно) в результате получим вот такую конструкцию:

<div class="comments" id="fornocomments">
    {comments}
</div>


Далее "включаем" логическое мышление:
- Если к новости есть хоть один комментарий, то он в любом случаи будет заключён в чтото типа:

<div id="comment-id-100">Комментарий номер 100</div>


- Если же комментариев к новости нет, значит и не будет блока с идентификатором комментария.

Отсюда делаем нехитрый вывод и пишем jquery скрипт:

$(function(){    
var comments_block = $("#fornocomments");
if (comments_block.find("div[id*=comment-id-]").first().text() == "") {comments_block.prepend('<div class="nocomments">Комментариев пока нет</div>');}
});



где:

var comments_block = $("#fornocomments");


это назначение переменной , для дальнейшей "удобности" работы (вдруг мы ещё чтото захотим покодить на jquery для комментариев )
далее условие:

if (comments_block.find("div[id*=comment-id-]").first().text() == "")



т.е. если в блоке с id="fornocomments" не найдётся ни одного блока, содержащего в идентификаторе слова comment-id- и имеющего внутри себя текст, то произойдёт:

comments_block.prepend('<div class="nocomments">Комментариев пока нет</div>');


внутрь блока с id="fornocomments" добавится блок с классом nocomments и текстом Комментариев пока нет

В противном случаи ничего не произойдёт.
Вот собственно и весь скрипт.
Далее помещаем наш скрипт в файл с расширением .js, лучше всего в отдельный, чтобы лишний раз не нагружать браузер пользователя лишним js-кодом, закидываем в папку с шаблоном (обычно это папка /js) и подключаем файл в fullstory.tpl (опять же, чтобы скрипт не вызывался в других местах и не тратил "силы" браузера)

 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем
Другие новости по теме:
 (голосов: 0)
  • Просмотров: 641
  • Комментариев: 0

Комментарии к статье

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

nulls.su

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