Rabu, 23 Maret 2011

CARA MEMBUAT WIDGET ARTIKEL TERKAIT (RELATED POST) DENGAN FUNGSI SCROLL

Sudah lupa sepertinya Blog ini dengan Thema yang dulu pernah saya usung yakni Free software, namun apa boleh dikata ini adalah satu-satu pilihan yang harus saya ambil yakni menjadikan Blog ini campur-campur artikel daripada saya harus membuat Blog baru lagi dengan thema yang khusus, membuatnya memang mudah namun promosi dan cari traffiknya susah. Mohon maaf jika Tampilan Blog ini selalu berubah!

Kembali ke Judul artikel yuk! Pada posting terdahulu saya sudah pernah mensharing cara membuat widget artikel terkait/ Related post di Blog. Namun widget yang terdahulu itu tanpa menggunakan fungsi scroll, jadi banyak pembaca yang protes “kok widgetnya gak sama seperti yang ada di Blog Shies Adja yang ada fungsi scroll nya” begitu katanya. Terus terang Widget ini juga saya dapatkan dari hasil copy paste di internet, maklumlah saya juga masih newbie dan masih harus banyak belajar.

OK langsung saja mulai memasang widget artikel terkait/ Related post di Blog sobat :


  • Login ke akun Blogger sobat.
  • Pilih Tata Letak >> Rancangan >> Edit Laman
  • Klik tab Edit HTML.
  • Kemudian klik Expand Template Widgets.
  • Cari kode yang seperti ini :
<data:post.body/>


  • Gunakan Ctrl + F3 untuk mempermudah pencarian.
  • Jika Sobat sudah menggunakan fungsi Read More, maka terdapat 2 kode <data:post.body/>. Dan jika Sobat sudah menggunakan Artikel Terkait, hapus saja kode artikel terkait yang lama.
  • Copy Paste kode di bawah ini setelah kode <data:post.body/>yang pertama (jika sudah menggunakan Read More).
<b:if cond=’data:blog.pageType == &quot;item&quot;’>
<br/>
<br/>
<H2>Artikel Terkait:</H2>
<div class=’rbbox’>
<div style=’margin:0; padding:10px;height:200px;overflow:auto;border:1px solid #ccc;’>
<div id=’albri’/>
<script type=’text/javascript’>
var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;
var maxNumberOfPostsPerLabel = 4;
var maxNumberOfLabels = 10;
maxNumberOfPostsPerLabel = 10;
maxNumberOfLabels = 3;
function listEntries10(json) {
var ul = document.createElement('ul');
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 == 'alternate') {
alturl = entry.link[k].href;
break;
}
}
var li = document.createElement('li');
var a = document.createElement('a');
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 == 'alternate') {
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('b');
h.appendChild(txt);
var div1 = document.createElement('div');
div1.appendChild(h);
div1.appendChild(ul);
document.getElementById('albri').appendChild(div1);
}
}
}
function search10(query, label) {
var script = document.createElement('script');
script.setAttribute('src', query + 'feeds/posts/default/-/'
+ label +
'?alt=json-in-script&amp;callback=listEntries10');
script.setAttribute('type', 'text/javascript');
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>
<script type=”text/javascript”>RelPost();</script>
</div>
</b:if>
  • Untuk kata Artikel Terkait, Sobat bisa menggantinya dengan kata yang lain.
  • Selanjutnya, masukkan kode ini di atas kode ]]></b:skin> .
.rbbox{border: 1px solid rgb(192, 192, 192);padding: 5px;
background-color: #f0f0f0;-moz-border-radius:5px; margin:5px;}
.rbbox:hover{background-color: rgb(255, 255, 255);}
  • Terakhir klik Simpan Template.

3 komentar: