Pages

21 December 2008

Membuat "pos berkaitan" V.2

Kalu aritu saya dah dapat cara nak wat "Related Post" gadjet, kali ni sya jupe gadjet yang sama fungsinya...bezanya, gadjet ni memaparkn "related post" pecah kepada tag@label yg ada dalam posting kite...cuba tgk gambar kat bawah
Gambar diatas memaparkan link yang sama kerana saya menggunakan label Blogger hack & Tutorial utk setiap Posting Tersebut..Jadi kalu nak guna kod ni, saya nasihatkan jgn guna label yg banyak..@sengihnampakgigi


Jika kamu ingin letakkannya dalam blog kamu, ikut prosedur dibawah:-

1st skali kena log in lam Blogger, gi kat |Layout| --> |Template| --> |Edit Html|.
Jangan lupa tanda pada kotak |Expand Widget Template|

Okay cuba cari kod yang warna merah kat bawah:-

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


Kalu dah jupe,letakkan kod dibawah selepas <data:post.body/> itu

<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>


Save Template dan cube tgk perubahan dalam blog anda....:smoke:

Sumber : Kang Rohman @star

2 comments:

  1. saje utk memudahkan kerja di masa depan,xyah tercari-cari lagi..thanx 4 d komen!

    ReplyDelete