Tuesday, April 28, 2009

MEMBUAT RELATED POST

Dari kemaren2 O'chan nyari-nyari cara bikin related post. Buat yang belum tahu, related post itu adalah fasilitas yang menampilkan link-link yang berhubungan dengan artikel yang baru saja dibaca, biasanya terletak di bawah postingan artikel tersebut. O'chan sempet googling n banyak nemu tips membuat related post tadi, tapi sayangnya, ga da related post yang muncul biarpun udah diinstall. O'chan yang geblek ato emang kodenya salah y? hehehehe...
Gara-gara udah BT, O'chan akhirnya minta tolong di blog Assassin. Ternyata kodenya berhasil diinstall. Seneng bgt...
Nah, buat temen-temen yang pengen ngasi related post di blognya juga, ini dia caranya.

Pastinya kita harus log in ke akun blogger dulu. Selanjutnya masuklah ke halaman tata letak blog yang mau ditambahkan fasilitas related post, lalu masuk ke ---> edit html. Kasi tanda centang di bagian expand template widget, lalu Cari kode data:post.body/. copy kode di bawah ini tepat di bawahnya.


kode related post



<b:if cond='data:blog.pageType == "item"'>
<div class='similiar'>

<div class='widget-content'>
<h3>Related Posts by Categories</h3>
<div id='data2007'/><br/><br/>
<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>



catatan buat yang pake read more, kode di atas sebaiknya diletakkan di bawah kode data:post.body/ yang pertama atau sebelum kode read more.

1 comment:

  1. kurang berminat akrena bikin rame tampilan :) tapi thx tips nya

    ReplyDelete

jangan lupa kasi komentar. oiya, kalau ada request tentang artikel dll, komen ajah ya... mau tanya PR juga boleh, terutama al biologi. nanti diusahakan buat dibikinin artikelnya... ok, tengkyu dah mw baca!!! jangan lupa like page-nya n follow d fb yah,,,

dapatkan info kamus pengetahuan langsung dari email anda

TULISAN TERBARU