Senin, 17 Agustus 2009

Membuat related Posts di Blogger

By 15.32.00

Keuntungan menampilkan “Artikel yang berhubungan” atau “Related Post”, “Related Article” adalah para pembaca blog bisa dengan mudah menemukan informasi lain yang masih ada hubungannya dengan artikel yg sedang mereka baca. Contohnya seperti yang ada dibagian akhir dari artikel ini, disitu ada link-link dari artikel yang berhubungan yang berdasarkan pada kategori ato label yang sama.


Caranya cukup mudah, ikuti langkah2 berikut ini:
1. Login ke blogger Blogger
2. Pilih menu “Layout->Edit HTML”
3. Beri tanda centang pada kotak “Expand Widgets Template”.
4. copy dulu kode dibawah ini :


		<b:if cond=’data:blog.pageType == "item"’>

<div class=’similiar’>
<!--

http://astikadharma.com. 1. Hanya copy dan paste tersebut dibawah baris #2 atau <data:post.body/> -->


<div class=’widget-content’>

<h3>Related Posts sesuai kategori</h3>

<div id=’data2007’/><br/><br/>


<div id=’hoctro’>

Widget by <u><a href=’http://dannybaskara.com/’ title=’Related Posts on Blogger Modified by danny. Read More?’>Related Post di Blogspot</a></u>

</div>

<script type=’text/javascript’>


var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;


var maxNumberOfPostsPerLabel = 4;

var maxNumberOfLabels = 10;


maxNumberOfPostsPerLabel = 100;

maxNumberOfLabels = 3;


function listEntries10(json) {

var ul = document.createElement(&#39;ul&#39;);

var maxPosts = (json.feed.entry.length &lt;= maxNumberOfPostsPerLabel) ?


json.feed.entry.length : maxNumberOfPostsPerLabel;

for (var i = 0; i &lt; maxPosts; i++) {

var entry = json.feed.entry[i];

var alturl;


for (var k = 0; k &lt; entry.link.length; k++) {

if (entry.link[k].rel == &#39;alternate&#39;) {

alturl = entry.link[k].href;


break;

}

}

var li = document.createElement(&#39;li&#39;);

var a = document.createElement(&#39;a&#39;);

a.href = alturl;


if(a.href!=location.href) {


var txt = document.createTextNode(entry.title.$t);

a.appendChild(txt);

li.appendChild(a);

ul.appendChild(li);

}

}

for (var l = 0; l &lt; json.feed.link.length; l++) {

if (json.feed.link[l].rel == &#39;alternate&#39;) {


var raw = json.feed.link[l].href;

var label = raw.substr(homeUrl3.length+13);

var k;

for (k=0; k&lt;20; k++) label = label.replace(&quot;%20&quot;, &quot; &quot;);

var txt = document.createTextNode(label);

var h = document.createElement(&#39;b&#39;);


h.appendChild(txt);

var div1 = document.createElement(&#39;div&#39;);

div1.appendChild(h);

div1.appendChild(ul);

document.getElementById(&#39;data2007&#39;).appendChild(div1);

}

}


}

function search10(query, label) {


var script = document.createElement(&#39;script&#39;);

script.setAttribute(&#39;src&#39;, query + &#39;feeds/posts/default/-/&#39;

+ label +

&#39;?alt=json-in-script&amp;callback=listEntries10&#39;);


script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);

document.documentElement.firstChild.appendChild(script);

}


var labelArray = new Array();

var numLabel = 0;


<b:loop values=’data:posts’ var=’post’>

<b:loop values=’data:post.labels’ var=’label’>


textLabel = &quot;<data:label.name/>&quot;;


var test = 0;

for (var i = 0; i &lt; labelArray.length; i++)

if (labelArray[i] == textLabel) test = 1;

if (test == 0) {

labelArray.push(textLabel);

var maxLabels = (labelArray.length &lt;= maxNumberOfLabels) ?


labelArray.length : maxNumberOfLabels;

if (numLabel &lt; maxLabels) {

search10(homeUrl3, textLabel);

numLabel++;

}

}

</b:loop>

</b:loop>


</script>

</div>


</div>

</b:if>

5. Setelah itu cari kode ini <data:post.body/> dan letakkan script tadi dibawahnya. Untuk blog yang ada “readmore”nya biasanya akan terdapat 2 kode. Nha km taruhnya dabawah kode yang pertama.
7. Kalo sudah simpan template km dan lihat hasilnya.