четверг, 13 ноября 2008 г.

Делаем ЧЕЛОВЕЧЕСКУЮ форму ввода комментариев на Blogspot.

Спонсор поста: Стеклянные точечные светильники, люстры для помещений.

Свершилось, я наконец-то победил одну из главных проблем своего блога! Хозяева блогов на блог-хостинге Blogger, думаю, поддержат меня в том, что комментарии на сервисе абсолютно ублюдские. Ну, вы сами все знаете. Поэтому я давно мечтал иметь такую же форму для комментариев, как счастливчики вордпресовцы -).

Удалось мне это с помощью волшебного дружеского педеля от Alexnote, старой подружки Аманды Фазани и SoftWare Testing Zone.

Из истории вопроса:
Когда-то, в начале лета, я пытался решить вопрос с помощью внешнего сервиса, уже даже не помню, как называется, думаю, это не важно, потому что он не работает. Во-первых, у него проблема с кириллическими кодировками, во-вторых, все существующие ранее комментарии исчезают… Я долго мучился, пытаясь что-то придумать для того чтобы он работал адекватно, в итоге пришлось просто снести к чертям и вернуться к тому что было.

Потом, несколько месяцев назад, человеческая форма для комментариев, появилась в Blogger in Draft, но работала очень криво, к тому, же была несовместима с основной массой «не родных» шаблонов.

Параллельно с этим, я терзал поисковики и буржуйские блоги на предмет нахождения вожделенного решения. Кое-что удавалось находить, но работало это столь, же дерьмово как все прошлые варианты. В том числе было решение указанной выше Фазани, которое так же не прижилось.

Некоторое время назад, втроенная в тело поста форма для комментариев, наконец-то, мигрировала из Blogger in Draft в Blogger, но радость от релиза была недолгой, потому что с большинством шаблонов функция тоже не работала. Кстати, можете убедиться в том что она есть. Для этого зайдите в «Настройки» - «Комментарии» и увидите следующую картину:

настройки формы комментариев в Blogger










В принципе, у кого страндартный шаблон, дальше можно не читать - ставите все как показано на скриншоте и наслаждаетесь. Таким бедолагам как я, рассказываю дальше.

Если у вас не стандартный шаблон, делаем следующее:

1) Идем в настройки и выбираем «Размещение для формы ввода комментариев» - «Вложенное ниже сообщение».
2) Далее «Макет» - «Изменить HTML». Бекапим существующий шаблон (так на всякий случай, мало ли что).
3) Ставим галку – «Расширить шаблон виджета». Находим, нажав CTRL-F, следующий фрагмент:
<p class='comment-footer'> <b:if cond='data:post.allowComments'> <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a> </b:if> </p>
И заменяем его вот этим кодом:
<p class='comment-footer'> <b:if cond='data:post.embedCommentForm'> <b:include data='post' name='comment-form'/> <b:else/> <b:if cond='data:post.allowComments'> <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a> </b:if> </b:if> </p>
Сразу хочу предупредить о 2 вещах - в зависимости от шаблона, указанный первым фрагмент может немного отличаться (у меня например, отличался), во-вторых, и это следствие первого – может не работать. Поэтому у кого фрагмент кода совпадает, скорее всего это шаг будет последний. Для тех у кого отличается и форма не работает, читаем дальше:

4) Начнем с решения вопроса что будем заменять? То же самое, даже если фрагмент немного отличается, но в любом случае начинается с <p class='comment-footer'> и заканчивается </p>. Вот этот кусок и заменяем.

Далее, нам необходимо добавить кое-что еще, находим:

<b:include data='post' name='comments' />

И сразу после него вставляем:

<b:include data='post' name='comment-form'/>

На этом все сохраняем и идем смотреть.

Как это выглядит, можно посмотреть у меня – форма для комментариев находится в теле поста, а не выскакивает в идиотском окошке, кроме того, есть удобная ссылка для желающих подписаться на уведомления о комментарии.

Если вдруг, что-то не понятно или не получилось - пишите в комменты, будем разбираться.

Подписаться на RSS.

Еще читать:
Зарабатываем с J2J. Инструкция для новичков.


Читайте по теме