Thursday 5 May 2011

Cara menambahkan related post widget di blogger

Seperti kita sudah ketahui blogger tidak memiliki related post widget, memang tips blog tidak ada hubungannya dengan smartphone, namun hal ini ditujukan sebagai sekedar sharing informasi sederhana yang mungkin bisa berguna bagi yang hobby mendandani blognya.

Widger sederhana yang akan dibuat ini menggunakan label dalam blog sebagai acuan list yang akan di tampilkan oleh karena itu sangat penting untuk menambahkan label dalam posting - posting anda.

Mari kita mulai step by step berikut ini :
1. login masuk ke blog anda, pilih design dan masuk ke edit >>> Layout >>> Edit HTML jangan lupa Expand Widget Templates di centang.

2. Tambahkan kode berikut di bawah sebelum tanda tag <head> dan </head> atau untuk mudahnya paste saja di bawah tag <head>

<script type="text/javascript">
//<!DATA[
var relatedTitles = new Array();
var relatedTitlesNum = 0;
var relatedUrls = new Array();
function related_results_labels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];[C
relatedTitles[relatedTitlesNum] = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
relatedUrls[relatedTitlesNum] = entry.link[k].href;
relatedTitlesNum++;
break;
}
}
}
}
function removeRelatedDuplicates() {
var tmp = new Array(0);
var tmp2 = new Array(0);
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmp, relatedUrls[i])) {
tmp.length += 1;
tmp[tmp.length - 1] = relatedUrls[i];
tmp2.length += 1;
tmp2[tmp2.length - 1] = relatedTitles[i];
}
}
relatedTitles = tmp2;
relatedUrls = tmp;
}
function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}
function printRelatedLabels() {
var r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
document.write('<ul>');
while (i < relatedTitles.length && i < 20) {
document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a></li>');
if (r < relatedTitles.length - 1) {
r++;
} else {
r = 0;
}
i++;
}
document.write('</ul>');
}
//]]>
</script>

4. Cari kode widget di bawah ini :

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
</b:if> 

5. Tambahkan kode di bawah ini ke dalam kode di atas :

<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&amp;callback=related_results_labels&amp;
max-results=10"' type='text/javascript'/>
</b:if>

Sehingga menjadi seperti ini, perhatikan kode merah yang di tambahkan :

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&amp;callback=related_results_labels&amp;
max-results=10"' type='text/javascript'/>
</b:if>
</b:loop>
</b:if>

6. Save template dan navigasi ke Layout >>> Page Element, tambahkan new gadget HTML/JavaScript Widget.  Paste kode di bawah ini, dan beri nama related post kemudian save.

<script type="text/javascript">
removeRelatedDuplicates();
printRelatedLabels();
</script>



7. Kembali lagi ke Layout >>> Edit HTML centang lagi Expand Widget Templates, kemudian search gadget HTML/JavaScript yang kita namai related post tadi dengan mengetikan "related post" kedalam kotak search di browser. Tambahkan bagian kode yang berwarna merah diantara kode yang berwarna ungu.

<b:widget id='HTML13' locked='false' title='Related Post' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.pageType == "item"'>
<!-- only display title if it's non-empty -->                                                                                                     
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>

8. Save template anda dan selesai.

demikian, semoga bermanfaat ^_^

0 comments:

Post a Comment

 
Design by Wordpress Themes | Bloggerized by Free Blogger Templates | Macys Printable Coupons