Tuesday, December 23, 2008

Cara Membuat "Related Post atau artikel yang berhubungan "

2 comments
Post views: counter

Advertisement

Mungkin anda pernah mengunjungi web atau blog yang menampilkan "related post " atau artikel yang berhubungan di ahir artikel. Sangat menarik bukan ? bukan...he.he..bahasanya berat amad...ihikhik

Tapi anda jangan berfikir itu related post nongol gitu aja tanpa di oprek-oprek , Tapi ga apa2 juga sih kalo berfikir seperti itu,soalnya saya juga dulu berfikir begitu, kirain itu widget bawaan dari templatenya,,,ha,,ha,,jelir

Nah caranya gimana sih bikin tuh widget ? caranya gini ,,eits tunggu dulu,,,wah,,,kalo saya jawab berarti saya nanya tapi di jawab sendiri,,berarti apa nih,,wekwkekekk...ah bodo amad deh...gatai

Setelah melakukan banyak eksperimen dari banyak script yang tersebar di internet, bahkan sampe sempat di bikin bingung karena semua postingan saya jadi aneh,ahirnya bisa juga bikin related post dengan menggunakan script dari scrapur.com .

Ok kita mulai :

log in ke blog anda,pilih layout,edit html, tapi jangan lupa ceklist expand widget templates dulu ya , kalo mau lebih aman,download aja templatenya.

Pertama copy script berikut ini :

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

<div class='widget-content'>
<h3>Related Posts :</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>

kemudian cari kode ini :

<div class='post-body entry-content'>
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>

Kemudian perhatikan kode yang ini <data:post.body/>

Kemudian copy script tadi dan paste tepat di bawah kode ini <data:post.body/>

Nah kalo yang ada readmorenya bagaimana dong,,simpen scriptnya di mana ?
Gini caranya :

Karena kode sudah di modifikasi dengan menggunakan readmore,jadi ada sedikit perubahan,tapi kalo jeli sih bisa langsung aja,,
tapi kita cari aman aja ya :

lihat kode ini :


<b:if cond='data:blog.pageType == "item"'>
<style>.fullpost{display:inline;}</style>
<p><data:post.body/></p>

<b:else/>
<style>.fullpost{display:none;}</style>
<p><data:post.body/>
<a expr:href='data:post.url'><strong>Read more...</strong></a></p>
</b:if>

Perhatikan kode yang ini <p><data:post.body/></p>

nah,mau lanjut atau gimana dulu nih,,? mending ngakak guling-guling dulu sana biar relax gelakguling,,,yawdah saya tidur dulu ya,,kalo udah selesai ngakaknya , Buzz saya aja ya wekekekk,,,sabar,,,capek juga nih ngetiknya,,,
saya sengaja bikin tutorial ini seribet mungkin,,,ha,,ha,,ha,,supaya berasap tuh kepala,,,wekekek,,gelakguling

Udah cepet buruan,,,
ok,,,ok,,,bos...
lanjut ,,,,

Copy script berikut dan paste tepat di bawah kode <p><data:post.body/></p>

ini script yang harus di copy-paste :

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

<div class='widget-content'>
<h3>Related Posts :</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>

selamat mencoba ya,,,kalo semua stepnya dijalankan dengan benar,,kayaknya ga mungkin eror deh,,tapi kalo masih eror juga, silahkan berbagi ke-erorannya ya,,,

Oh ya,,saya rasa artikel yang membahas metode ini sudah banyak,jadi silahkan di pelajari aja,yang jelas,dengan cara ini saya berhasil membuat related post pada blog ini.
semoga bermanfaat.

Advertisement

Related Posts :



Comments

2 comments to "Cara Membuat "Related Post atau artikel yang berhubungan ""

kang dwi said...
July 19, 2009 at 6:20 AM

thank infonya bozzzz.
ta coba langsung jrenk

Anonymous said...
July 22, 2009 at 1:40 AM

gw juga udah nyoba tips ini,,thanks ya bro.... :)

Post a Comment

Silahkan tinggalkan komentar dan tanggapannya ya,,

 

Copyright 2008 EndryBook@ All Rights Reserved Revolution Two by Brian Gardner Converted by Bloganol | Edited By Endry