środa, 24 marca 2010

Integracja dWorld z Bloggerem

Dzięki Grzegorzowi Dudzie zostałem dodany do jednego z najciekawszych w Polsce serwisów o Javie w Polsce - dWorld.pl . Od tego momentu moje posty mają się automatycznie pojawiać na dWorld w zakładce Blogosfera. Dzięki Grzegorz!

Marek Podsiadły przygotował specjalny widget do umieszczenia na blogu, aby bezpośrednio z bloga dało się głosować na dany artykuł. Wystarczy umieścić:
<script type="text/javascript" src="http://www.dworld.pl/js/bs_widget.js"> </script>
Kod ten powoduje umieszczenie małej ramki "iframe" z źródłem do serwisu dworld (w parametrach przekazując adres bieżącej strony).

Moje pierwsze podejście aby zrobić to za pomocą Edycji Html-a szablonu, było mało udane, po umieszczenie powyższego kodu Blogger wywoływał gdzieś swoje akcje javascript w których podmieniał dworldowe iframe na swoje z polem do dodawania komentarza.

Następnie zastosowałem się do wskazówki Marka i w układzie strony dołożyłem nowy Widget, typu "Html", jako treść wpisałem powyższy kod html i .. działa :) Prawie idealnie ... bardzo dobrze działa jak jest wyświetlany jeden artykuł.
Na stronie głównej też ten widget jest wyświetlany, ale nie dotyczy on żadnego artykułu. W dodatku mimo że w dokumentacji Marek napisał, że jeżeli urla który jest przekazywany jako parametr nie będzie w bazie artykułów (czyli np. będzie to strona główna) to wyświetlany będzie widget bez możliwości głosowania, aby nie wprowadzać chaosu. U mnie na stronie głównej widget niestety ma +/-.

Na moim blogu artykuły nie są długie (choć może kiedyś się rozpiszę ;) ), więc chciałbym umożliwić głosowanie już na stronie głównej. Taki widget powinien być wyświetlany pod każdym postem. Wróciłem do zabawy z Edycją Html szablonu.
Po włączeniu "Rozszerz szablony" znalazłem dobre miejsce na umieszczenie widgeta.
<div class='post-header'>
    <div class='post-header-line-1'/>
</div>

<div class='post-body entry-content'>
      <data:post.body/>
      <div style='clear: both;'/> <!-- clear for photos floats -->
</div>
Powyższy kod odpowiada za wyświetlenie artykułu, mogę umieścić widgeta za nim.

Trochę musiałem pokombinować jak połączyć iframe, jscript z tagami bloggera. Kilka różnych koncepcji padło, jako nie dające się zrealizować.
W końcu po przyjrzeniu się gotowemu szablonowi udało mi się wymyślić coś takiego:
<div class='dworld' id='dworld'>
<iframe expr:src='&quot;http://www.dworld.pl/blogEntry/widget?url=&quot; + data:post.url' frameborder='0' height='90' scrolling='no' width='70'/>
</div>

Po kilku tekstach, wygląda że działa, więc może komuś to się jeszcze przyda :)
Swoją drogą system templetów Bloggera jest naprawdę ciekawy i umożliwia sporo.

4 komentarze:

  1. Znalazłeś bug'a, będę musiał to dopracować :)

    OdpowiedzUsuń
  2. No to teraz pisać pisać pisać :)

    OdpowiedzUsuń
  3. Witamy na Blogsferze (też jestem nowy :)) i dzięki za tips z głosowaniem na artykół. Owocnego blogowania!

    OdpowiedzUsuń
  4. Oby tak dalej :)

    OdpowiedzUsuń