Widget zależny od wyszukiwanej etykiety



Ten widget jest zależny od etykiet i wyświetlany tylko podczas wyszukiwania wybranych - Zobacz opis

niedziela, 29 maja 2011

Wydrukuj to...

Bloker komentatorów

Mamy prawo na własnym blogu utrzymywać jakiś ład i skład w komentarzach również. Jednak jak to bywa w życiu zawsze znajdzie się upierdliwy troll który systematycznie denerwuje nas własnymi niezbyt przychylnymi komentarzami.
Możemy włączyć moderację komentarzy ale niezbyt wygodne jest zatwierdzanie wszystkich wpisów. Jest na to lepszy zautomatyzowany sposób.
Za przykład weźmiemy SonneKern'a który już raz był banowany ;) i zapewne nie będzie miał mi za złe, jeśli i tym razem uhonoruje go tym zaszczytem.

Na początek może troszkę wyjaśnień jak to działa. Włączamy możliwość komentowania tylko dla zalogowanych użytkowników, czyli Ustawienia - Komentarze i Kto może komentować? - klikamy odp opcje. Dlaczego? Sfrustrowany amator komentowania będzie nam anonimowo pisał po zablokowaniu więc warto tą opcję wcześniej zablokować. Najlepiej jest wybrać opcje tylko z kontami Google - choć niekoniecznie, dla zalogowanych w zupełności wystarcza.

Podana poniżej modyfikacja sprawdza nam ID klienta i jeśli jest zgodne ze wzorcem blokuje wpis zastępując go własnym :)
Jako ID pobieramy URL do profilu - to w przypadku kont Google, URL konta OpenId w pozostałych przypadkach, a prościej mówiąc klikamy prawym klawiszem myszy na nazwie i wybieramy -> Kopiuj adres odnośnika.
Dlaczego nie jego nazwę? - było przecież by prościej... było by, zmienić nazwę to parę kliknięć, zmienić URL to nowe konto. Tłumaczyć chyba nie trzeba.

Mając już odpowiednią zmienną podstawiamy ją do poniższego kodu

<b:if cond='data:comment.authorUrl == "nasza zmienna"'>
<p class='banned-comment' onClick='window.location.replace(&quot;http://tinyurl.com/comentkicker&quot;)'/>
<b:else/>
<data:comment.body/>
</b:if>

w kodzie szablonu wyszukujemy <data:comment.body/> powinno być kilka razy nas jednak interesuje tylko to wystąpienie jak zaznaczone poniżej:

<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p>
<data:comment.body/>
</p>
</b:if>

czyli następne po usuniętych wpisach <span class='deleted-comment'> tym co się nie znalazło zalecam zaznaczyć opcję Rozszerz szablony widżetów przed wyszukiwaniem.

<data:comment.body/> zastępujemy naszym zmodyfikowanym kodem. URL do profilu w przypadku SonneKern'a to: http://www.blogger.com/profile/00963620857269804985 więc cały kod do podmiany będzie wyglądać tak:

<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p>
<b:if cond='data:comment.authorUrl == "http://www.blogger.com/profile/00963620857269804985"'>
<p class='banned-comment' onClick='window.location.replace(&quot;http://tinyurl.com/comentkicker&quot;)'/>
<b:else/>
<data:comment.body/>
</b:if>
</p>
</b:if>

Dodajemy odpowiedni arkusz styli CSS:

.banned-comment {
cursor: hand;
cursor: pointer;
background: transparent url(http://i.imgur.com/QMyEB.png) no-repeat left top;
width:100%;
height:25px;
}
 
Zapisujemy kod szablonu i gotowe :) teraz tylko poczekać na reakcję zbanowanego osobnika.

A co jeśli mamy kolejnego delikwenta na liście... najprościej będzie sprawdzić uprawnionych za pomocą JavaScriptu, /Tutaj usuwa minn. wpisy anonimowe/ odpowiedni kod już niebawem... Przykład działania blokady w tylko tym poście.

PS. Komentarze nie są usuwane, jedynie zamieniane tylko i wyłącznie na stronie bloga, w kanale RSS komentarzy widnieją oryginalne wpisy, i są ogólnodostępne. Co z nimi zrobicie wasza sprawa, usuwanie wpisów z poziomu bloga działa normalnie, wystarczy kliknąć w ikonkę kosza itd...
10010010001000101010111011101011010101011100111101111000011011100010111011011100011111000010101010101010111001110000000011001110101111000111110

Napisano już 7 komentarze/y. Dyskusja powoli się rozwija...
Już teraz przyłącz się do dyskusji i dodaj nowy komentarz


Podoba ci się modyfikacja sekcji komentarzy - opis znajdziesz tutaj: Tuning komentarzy

Paula pisze...

wprost genialne - jutro ktoś będzie miał kwaśną minę

Sonnekern pisze...

komentarz w celach testowych

Anonimowy pisze...

a można zablokować wszystkich anonimowych?

Admin pisze...

tak można, jest taka opcja w ustawieniach

Anonimowy pisze...

Jak to ustawić

Angelika pisze...

czyli następne po usuniętych wpisach tym co się nie znalazło zalecam zaznaczyć opcję Rozszerz szablony widżetów przed wyszukiwaniem.
Po jakich usuniętych wpisach?
Coś mi nie działa. Pomożesz?

asia pisze...

aha

Prześlij komentarz

Zapraszam do komentowania i wyłapywania ew. błędów... Twoje IP:

Losowy post