03 Agustus 2008

AJAX Labels with Label Cloud

Sebenarnya "Ajax Labels with Label Cloud " tidak asing lagi bagi kalangan blogger, karena tutorialnya banyak kita jumpai. Salah satunya ada di blog Kang Jaloe atau kunjungi sumbernya Blogger-hacked dan Phydeaux3.

Namun disini saya ingin menerjemahkan tutorial tersebut ke dalam versi "bahasa saya" dengan harapan dapat dengan mudah untuk dimengerti.

Pertama-tama kita instal Label Cloud.

1. Cari kode ]]></b:skin>, kemudian copi dan paste kode dibawah ini sebelum kode ]]></b:skin>.

/* Label Cloud Styles
----------------------------------------------- */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:"" !important}

2. Copy dan paste kode dibawah ini diatas kode </head>.

<script type='text/javascript'>
// Label Cloud User Variables
var cloudMin = 1;
var maxFontSize = 20;
var maxColor = [0,0,255];
var minFontSize = 10;
var minColor = [0,0,0];
var lcShowCount = false;
</script>

Simpan template anda.

3. Sekarang kita akan memasang widget, cari kode dibawah ini : (pada bab ini berdasarkan pengalaman, jangan centang kotak Expand Template Widget, karena apabila kita simpan template maka akan ada pesan error dari blogger ).

<b:widget id='Label1' locked='false' title='Labels' type='Label'/>

Ganti kode diatas dengan kode di bawah ini :

<b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>

<div class='widget-content'>
<div id='labelCloud'/>
<script type='text/javascript'>

// Don't change anything past this point -----------------
// Cloud function s() ripped from del.icio.us
function s(a,b,i,x){
if(a&gt;b){
var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
}
else{
var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)
}
return v
}

var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
var theName = &quot;<data:label.name/>&quot;;
ts[theName] = <data:label.count/>;
</b:loop>

for (t in ts){
if (!labelCount[ts[t]]){
labelCount[ts[t]] = new Array(ts[t])
}
}
var ta=cloudMin-1;
tz = labelCount.length - cloudMin;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
if(ts[t] &lt; cloudMin){
continue;
}
for (var i=0;3 &gt; i;i++) {
c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
}
var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
li = document.createElement('li');
li.style.fontSize = fs+'px';
li.style.lineHeight = '1';
a = document.createElement('a');
a.title = ts[t]+' Posts in '+t;
a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
a.href = '/search/label/'+encodeURIComponent(t);
if (lcShowCount){
span = document.createElement('span');
span.innerHTML = '('+ts[t]+') ';
span.className = 'label-count';
a.appendChild(document.createTextNode(t));
li.appendChild(a);
li.appendChild(span);
}
else {
a.appendChild(document.createTextNode(t));
li.appendChild(a);
}
ul.appendChild(li);
abnk = document.createTextNode(' ');
ul.appendChild(abnk);
}
lc2.appendChild(ul);
</script>

<noscript>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>
</noscript>
<b:include name='quickedit'/>
</div>

</b:includable>
</b:widget>

4. Langkah selanjutnya kita akan menginstall Ajax Labels, klik Page Layout kemudian ke Edit HTML. Centang kotak "Expand Widget Templates" kemudian cari kode </head> tag di dalam template. Masukkan kode berikut tepat di atas kode </head>.

<style type='text/css'>
#indicator {position:fixed;z-index:1000;padding:15px 0;top:40%;background-color:#FFFFFF;border:1px solid #AAAAAA;width:176px;left:50%;margin-left:-88px;text-align:center;}
#search-result {border:1px solid #AAAAAA;padding:10px;padding-bottom:30px;font-size:85%;}
.search-result-meta {background:#EFEFEF;padding:2px;}
.search-result-meta img {border-width:0;vertical-align:text-bottom;}
.search-title {font-size:1em;padding-bottom:3px;font-weight:bold;text-align:left;text-decoration:underline;}
.search-cat {display:block;padding:3px;font-size:1em;margin-top:5px;margin-bottom:5px;border-bottom:1px solid #C0C0C0;font-weight:bold;}
.search-close {color:silver;float:right;border:1px solid #F5F5F5;margin-top:10px;cursor:pointer;}
.search-result-nav {font-size:1.4em;font-weight:bold;padding:5px 0pt;text-align:center;}
</style>
<script type='text/javascript' src='http://bloggerhacked.googlepages.com/prototype.js' />
<script type='text/javascript'>
//<![CDATA[
// User customisable parameters
// ----------------------------
// maxresults - Number of results to show per page
// navFlag - Set Navigation ON or OFF. Give 1 for ON and 0 for OFF.
// feedLabel - Text to show for the label feed link.
// catLabel - Label for categories.
// closeLabel - Label for Close button. You can use hypertext also.
var maxresults = 5;
var navFlag = 1; //ON by default
var feedLabel = "Subscribe to";
var catLabel = "Sorted into:";
var closeLabel = "Click to close";
//]]>
</script>
<script type='text/javascript' src='http://bloggerhacked.googlepages.com/ajaxlabels.js' />

5. Sekarang cari kode

<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>

Ganti kode di atas dengan kode di bawah ini :

<b:loop values='data:post.labels' var='label'>
<a href='#sres' expr:onclick='"javascript:getCat(\"" + data:label.name + "\",null)"' rel='tag'><data:label.name/></a>

Simpan template anda.

6. Sekarang buka Tata letak klik elemen halaman. Silahkan anda tentukan tempat penambahan elemen halaman yang nantinya berfungsi untuk memunculkan tampilan ringkasan posting saat label cloud di klik baik oleh anda maupun pengunjung blog anda. Masukkan kode di bawah ini dengan menambahkan elemen halaman "HTML/JavaScript "
(Lebih praktis di taruh di atas postingan. Untuk tampil di atas postingan, sebelumnya pada edit HTML di template, cari kode
<b:section class='main' id='main' showaddelement='no'> ganti "no" dengan "yes")

<div id="indicator" style="display:none"><img alt="Indicator" src="http://bloggerhacked.googlepages.com/indicator.gif"/> Loading...</div><div id="search-result" style="display:none"><a name="sres"></a><div class="search-close" onclick="javascript:Element.hide('search-result')"><script type="text/javascript">document.write(closeLabel);</script></div><div id="show-result"></div><div class="search-close" onclick="javascript:Element.hide('search-result')"><script type="text/javascript">document.write(closeLabel);</script></div></div>

Simpan dan coba cek dengan lihat blog anda.

7. Jika pada proses ini tidak berjalan silahkan anda kembali ke edit html pada template anda, cari kode di bawah ini :

'"javascript:getCat(\"" + data:label.name + "\")"'

ganti dengan kode di bawah ini :

'"javascript:getCat(\"" + data:label.name + "\",null)"'

Selamat mencoba, ingat jangan putus asa untuk mencoba. Sebagai saran terapkan pada awal pembuatan blog baru anda. Kalaupun anda ingin menerapkan ke blog kesayangan anda, back up dulu blog anda.

(Bagi anda yang kurang puas dengan terjemahan ini, silahkan kunjungan link yang saya pasang di awal posting ini)

6 komentar:

blogspot mengatakan...

hohoho keren boss.. tapi nama saya .koq ngga berkedip-kedip... hahaha

kaburrrrr :)

bani risset mengatakan...

wooww... saya baca2 dulu deh kang :)

subagya mengatakan...

wew dah ada juga toh heheheheheeh.

kurnia septa mengatakan...

Wadu,,, scrpitnya kok kuning2
kayak di kali, gak kelihatan!!!! hehehe...

4bang mengatakan...

mas......... tutorialnya bnyak yang kurang dimengerti.... bagaimana kalau mas buat tutorialnya dengan memberi contoh gambar sekali gus... jadi kita paham maksudnya mas..... ;)

donkissotes mengatakan...

yg dimaksud diatas itu gmn & dibawah itu gmn?
begitu jg dg sebelum & sesudah itu gmn?
kasih screeshot kecil biar km yg nyubi2 ini dpt aplikasi tanpa kesulitan mas,,,

terima kasih

Posting Komentar

 
Foto saya
Ketidaktahuan anda adalah kepedulianku untuk selalu memberikan informasi, meski hanya sekedar hilangkan rasa ingin tahu saja.