Integracja Blox i Flattr – krótkie HOWTO.

W końcu udało mi się zintegrować Flattr, czyli serwis do mikropłatności i Blox. Nie było to takie proste, na jakie wyglądało, więc pozwolę sobie zamieścić krótkie howto.

Pierwsza sprawa, to dodanie prostego javascriptu do Ustawienia -> Wpisy -> Dodaj pod każdym wpisem. Niestety, Blox ma buga i tagi typu {tytul} są rozwijane tylko przy pierwszym wystąpieniu. Przynajmniej w javascripcie. A akurat pola tytuł to ja już używam…

Podpatrzyłem obejście z widgetów Wykopu i Facebook, które wstawia Blox – skoro to javascript, to można się odwołać do tytułu przez encodeURIComponent(document.title); Bingo. No prawie, bo nadal nie działa. Nadal nic nie mówiący Error w widgecie Flattr.

Doładowałem konto na Flattr i postanowiłem dodać wpis ręcznie, z tymi samymi parametrami. Okazało się, że zmienna flattr_dsc jest obowiązkowa, a tymczasem wywaliłem ją, bo nie miałem pomysłu, co tam wstawić.

Ostatecznie działający kod wygląda następująco:

<script type="text/javascript">var flattr_uid = '10901'; // TWOJE Flattr IDvar flattr_tle = encodeURIComponent(document.title); // Tytuł stronyvar flattr_dsc = 'Blox blog entry ID: {id}'; // nie jestem pewien, czy musi być unikatowe, ale tak - będzievar flattr_cat = 'text';var flattr_lng = 'pl_PL'; // skoro Blox, to pewnie po polsku piszeszvar flattr_tag = '{tagi_b}'; // lista separowanych przecinkiem tagówvar flattr_url = '{link}'; // link do wpisu</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>

Gdyby ktoś wykorzystywał już zmienną {link} to najprawdopodobniej zamiast niej użyć encodeURIComponent(location.href); Oczywiście zadziała tylko w javascript.

Parametrów jest nieco więcej, opisane są w API Flattr, można choćby zmieniać wygląd przycisku na compact.

Nie jest zupełnie różowo – nie działa mi w jednym wpisie. Podejrzewam, że przez to, że był dodany ręcznie, z identycznymi parametrami. Nie widzę też wpisów dodanych w My latest things. Być może zmieni się to, gdy ktoś flattrnie wpis.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *