Добавляем практичные правила комментирования
Посетители блога, которые в первые новогодние дни успели что-то откомментировать на этом блоге, наверняка уже заметили, что на нем появились правила комментирования.
Я уже задумывался над этим некоторое время назад, но реализовал только после того, как увидел правила комментирования на блоге Максима. Взял пример с него, т.к. во-первых, нигде ранее такого не встречал, во-вторых, прочитав правила у Максима, я понял, каким образом я сделаю то же самое у себя.
В отличие о Макса я решил не создавать для правил отдельную страницу, а вставил их прямо перед кнопкой “Отправить комментарий”. По умолчанию правила спрятаны, но они появляются при клике на соответствующую ссылку. Реализовано это с помощью небольшого ява-скрипта.
Денис Стреха попросил написать, как реализовать такую штуку, поэтому рассказываю, авось и кому-то еще пригодится.
- Для начала к теме блога необходимо подключить следующий ява-скрипт (либо вставить его прямо в тему, либо подключить через отдельный файл):
<script type="text/javascript"> function view(n) { style = document.getElementById(n).style; style.display = (style.display == 'block') ? 'none' : 'block'; } </script>
- В нужно месте пишем какой-то текст, который будет содержать ссылку на правила. Код ссылки должен выглядеть следующим образом:
<a href="#t1" onclick="view('t1'); return false">правила комментирования</a>
Здесь
t1
– это идентификатор, который мы применим для блока с комментариями, который по умолчанию будет скрыт. - Создаем блок с правилами и назначаем ему идентификатор, в моем примере
t1
:<div id="t1"> Здесь правила комментирования </div>
- Для идентификатора
t1
необходимо назначить CSS-правилоdisplay:none
, чтобы по умолчанию блок с правилами был скрыт.
Все. Останется только добавить стили для оформления правил, если это потребуется.
Наглядный пример можете наблюдать прямо на моем блоге перед кнопкой “Отправить комментарий“.
Еще хочется добавить следующее. Чтобы обозначить, что ссылка на правила – это не обычная ссылка, которая открывает новую страницу, лучше сделать у нее подчеркивание пунктиром, убрав стандартное подчеркивание:
a {
text-decoration: none;
border-bottom: 1px dashed #F70;
}
В результате мы имеем правила комментирования, которые при клике на определенную ссылку появляются на той же самой странице.
* * *
Украинская торговая фирма “Страж” изготавливает и устанавливает стальные входные двери, обладающие красивым дизайном и надежной защитой. Вы можете выбрать как готовую дверь, так и сделать индивидуальный заказ.
Комментарии (55)
Дим, ты невнимателен :) Href не сработает, так как у тебя в js написано явно – return false. Href сработает только если отключен js. Кроме этого, поисковикам будет понятно куда ведет ссылка.
Дэн, я не невнимателен, дело всего лишь в том, что я в этом ничегошеньки не пендрю =) (ява-скриптинг имею в виду).
Спасибо за советы! Отредактировал пост по твоему примеру и поменял у себя в шаблоне.
Кстати не знаешь, то что при сабмите комментария часто вылезает диалог сохранения php-файла, это баг движка или ФФ?
Отличная идея – правила комментирования! У себя обязательно тоже сделаю.
Как только закончу другую штуку с комментариями =)
Dimox, у тебя правила не так суровы, как у Макса и их не так много, поэтому они помещаются на эту же страницу.
Ты имешь в виду мой блог или вообще WP-блоги в целом?
Уникальный Человек, я так и предполагал, что тебе эта идея понравится :)
Хм… если бы у меня правила были такие же большие, как у Макса, я бы все равно их интергировал точно так же, как сейчас. Размер тут значения не имеет =)
Имею в виду твой блог.
Хм.. тогда не знаю, что тому виной. У WP такого бага нет, да и у ФФ не должно быть. Возможно, причина в моем хостере.
Это скорее всего хостер + FF, у меня иногда бывает такое даже напр. на SE форуме ( когда его отключают ночью на профилактику, так за несколько секунд до этого такое вылетает). Но тут ещё такого не замечал. Иногда бывает другая странность, которую больше нигде не видел – при загрузки страницы ничего не отображается, просто белый лист, но при этом фавикон сверху подгружается. Для себя ссылаю это на то, что забываю иногда почистить кеш у браузера, или какой-то косяк хоста
Вот только я не понимаю – зачем эти правила – и так все понятно, это прописные истины.
А вот пример реализации чего-то веб2.0-го интересный.
Янис, в том и дело, что для некоторых комментаторов данных истин, видимо, не существует, посему специально для них и написаны правила.
Подтверждаю, полуспамные комментарии замучили. Даже закрытие в nofollow/noindex не останавливает. Пойду и себе правила для комментаторов делать.
Привет.
не совсем понял – “Для начала к теме блога необходимо подключить следующий ява-скрипт (либо вставить его прямо в тему, либо подключить через отдельный файл)” – где именно и как в теме надо “подключать”? (я чайник :) )
спасибо.
Вставить этот скрипт в файл header.php, который находится в папке с темой, перед
</head>
.Я правила не увидел. Скролит под форму (Макстон2 на ИЕ6). Пришлось код страницы смотреть.
Возникла идея. Сделать скрытой не правила, а саму форму. Пока не согласишься с правилами (типа кнопер “Прочитал -согласен”).
Однако хорошо бы постоянным комментаторам сразу её показывать.
Мож через куку как-то можно сделать.
Как мысль? Жизнеспособная?
Я думаю, это излишне и может оттолкнуть. Комментирующий не любит совершать лишних действий при добавлении коммента.
Я имею ввиду без перезагрузки. Так же как у тебя сейчас правила и помощь.
Ну на многих блогаг капчу вводить не лень, а тут ссылочку кликнуть… ;)
Ведь читать правила желающих ещё меньше найдется, чем комментить. А у кого возникнет желание прокомментить, тот и линк нажмёт. Заодно слабенький фильтр от тупых юзеров и бессмысленных коментов получится ;).
Я наверное на каком-нить из своих блогов такое сделаю.
Спасибо за идею. ;)
Я понимаю, что без перезагрузки. Идея интересная, но на данном блоге не вижу смысла этого делать.
Отличная идея – правила комментирования!
Как это реализовать не могу понять. В CSS не силён, напишите что в стиль добавить. И если можно то как в код php корректно выводите? у меня не получается, приходиться картинками((
Не понял вопроса.
Дима, я прошу прощения за прямоту , но!
Эти прибамбасы не работают корректно (как здесь написано). Приведите пожалуйста рабочий код с начала до конца, если Вас не затруднит, тогда и лишнего “базара” не будет. Некоторые ребятки не понимают, что такое
Что назначить? Куда “впендюрить”? Урок нужно “разжевать”, чтобы ВСЕМ было ясно что и куда вставлять! Ведь, если я правильно понимаю, Вы пишите не только и в основном не для поннимающих в PHP?!
Советую почитать мануалы по CSS, тогда таких вопросов не будет возникать.
Здравствуйте, Дмитрий.
Да не обижайтесь Вы на критику – она добрая!
Вот обратите пожалуйста на простой пример, простите, Вашей ошибки – Олег пишет:
…….не совсем понял – “Для начала к теме блога необходимо подключить следующий ява-скрипт (либо вставить его прямо в тему, либо подключить через отдельный файл)” – где именно и как в теме надо “подключать”? (я чайник :) )………
Вставить этот скрипт в файл header.php, который находится в папке с темой, перед .
А разве нельзя было в своем уроке сразу расписать места установки Ваших скриптиков? Я думаю – можно и нужно, тогда и лишней полемики не будет – вот я о чем. А отмахиваться советами почитать это или то… не дело это настоящего блоггера, каковым Вас считают некоторые поклонники. Вот моя (да и не только…) точка зрения на вопрос написания постов по просьбам читателей.
Ценность подобных уроков в том, чтобы даже “самый древний чайник” понял то, что Вы делаете, независимо от подготовленности в той или иной сфере сайтостроительства…
Не обижайтесь пожалуйста на мои замечания, но, честно говоря… впрочем, не буду продолжать, дабы у Вас не отнимать время для написания, надеюсь, подробных постов. Спасибо за то, что не удалили мой коммент, поверьте – я не со зла, сам когда-то сделал пару-тройку подобных ошибок, пока не “вразумили добрые учителя”, коим безмерно благодарен”
А тут и не на что обижаться.
Я не ставлю цель донести информацию до “самых древних чайников”. Мне неинтересно описывать самые азы.
Димокс! Да Ваш блог просто кладезь полезняшек! Браво!
Видите, я добралась наконец и до правил :)
Мало того, я сделала их и своими правилами – более сжатой и более ёмкой, тем не менее, формулировки трудно придумать!
А теперь думаю: а вдруг Вы против?.. о.О
Разумеется, триста раз разумеется, что я буду, захлёбываясь от восторга, писать о Вашем блоге :) Я буквально в шаге от поста на тему “Как я пилила дизайн и кто мне помогал” ;)
СПАСИБО!!!
Не против. Пожалуйста.
Одно только забыла уточнить: вот эта премодерация самого первого комментария – это в админке задаётся?
Вот это:
оно?
Я так понимаю, что да (никогда раньше не модерировала каменты, поэтому и в затруднении).. думается мне, что нужно отметить эти две галочки: одна для самого первого камента, другая – для тех, чьи каменты были ранее одобрены.
Или я всё путаю?
Немного не так.
Нужно отметить только “Автор должен иметь ранее одобренные комментарии”. Если Вы отметите “Администратор должен проверить комментарий”, тогда каждый комментарий будет попадать в модерацию, независимо от того, первый он или десятый.
Точно, сейчас в этом убедилась..
Димокс, имхо, Вы – лучший блогер рунета. Даже не спорьте :)
Огромное Вам спасибо за Ваш великолепный блог!
Большое спасибо за отзыв, очень приятно! =)
Не могли бы Вы мне написать свой код стиля кнопки “Отправить комменатрий”? Мне понравилась у Вас эта кнопка. Сама я пробовала что-то изменить у своей кнопки, но не все получается, а которая идет стандартная в шаблоне мне не очень нравится.
Спасибо.